- 運営しているクリエイター
記事一覧
Rails slim
display: inlineを指定するとインライン要素になって横並びになる
i.fa.fa-youtube-play(style='display: inline')
i.fa.fa-twitter(style='display: inline')
Rails slimのsimple formでラジオボタンを作成するのは
= f.input_field :カラム名, as: :radio_buttons
これでok勝手にsimple formがカラムの値を表示してくれる
Rails numericalityのバリデーションはデフォルトでpresence: trueのような挙動になる。blankを許容するためにはallow_blank: trueを指定すればok
シングルテーブル継承(STI)
親テーブルを継承していること、typeカラムが存在していることからRailsがSTIの設計パターンだと解釈してくれるっぽい。
rails testのエラー解決メモ
Error:StaticPagesControllerTest#test_should_get_home:ActionView::Template::Error: Webpacker can't find application in /home/ubuntu/environment/hoge/public/packs-test/manifest.json. Possible causes:1.
もっとみるRailsの基本的なログイン機能
環境:macOS Catalina 10.15.6
Gemを使わない基本的なログインの仕組みについて
構成
Controller: application(include SessionsHelper), sessions, static_pages, users
Model: application_record, user
下記コードを言語化しました。
#sessions_help
Railsのアセットパイプライン
アセットパイプラインはgem 'sprokets-rails'で使えるようになるSproketsの機能。高級言語のコンパイル→アセットの連結→アセットの最小化→ダイジェストの付与を行う。
高級言語のコンパイル:Coffee Script, SCSS, ERB, Slimなどで書かれた言語をブラウザで認識できるJavaScript, CSSファイルに変換する。
アセットの連結:複数に別れた.cs
form_withまとめ
<%= form_with(model:@user, local: true) do |form| %> <%= form.label :name, "名前" %> <%= f.text_field :name %> <%= f.submit "登録" %><% end %>
form_withにモデルのインスタンス(@user)を渡す時は、送った情報をデータベースに保存したい
rails i18n メモ
翻訳のためのgem, config/locales/下のファイルを読み込んでviewに反映させる。
#config /application.rbconfig.i18n.default_locale = :jaconfig.i18n.load_path += Dir[Rails.root.join('config/locales/**/*.{rb,yml}').to_s]
#model用の訳文を
Rails renderでパーシャルを繰り返し表示する方法メモ
#PostsControllerdef index @posts = post.all end
app/views/posts/index.html.erbでポストの一覧表示をしたい際はじめに思いつくのが以下のやり方
<%= @posts.each do |post| %><%= post.id %><%= post.title %><%= post.body %><%= post.cre
Rails decoraterでviewをすっきりさせるメモ
<User id: 1, email: "test@example.com", first_name: "foo", last_name: "baa">
Userにfirst_name: foo, last_name: baaさんがいるとしてviewでフルネームを表示させようとすると
<%= "#{@user.first_name} #{@user.last_name}" %>
という感じで
Rails 入力フォームのバリデーションエラーを表示するメモ
#app /views/posts/_form.html.erb<%= form_with model: post, local: true do |form| %> <%= render 'shared/error_messages', object: form.object %> <%= form.label :content %> <%= form.text_field :content
もっとみる多対多の中間テーブル作成メモ
user_id, post_id, を持つCommentsModelの作成
#db /migrate/マイグレーションファイル.rbclass CreateComments < ActiveRecord::Migration[5.2] def change create_table :comments do |t| t.text :body, null: false t.refere
Rails 動的タイトルメモ
#app /helpers/application_helper.rbmodule ApplicationHelper def page_title(page_title = '') base_title = 'SAMPLE APP' page_title.empty? ? base_title : page_title + ' | ' + base_title endend
conten