マガジンのカバー画像

Ruby on Rails

29
運営しているクリエイター

記事一覧

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

もっとみる