1
0

More than 3 years have passed since last update.

【Rails】formで情報を登録する時、〇〇_idカラムから親要素の情報を取得して送信する方法

Posted at

環境

rails 5.2.4
ruby 2.5.7

実装したい内容

子要素をformでデータベースに登録する際、selectでデータベースに既に登録されている、親要素を選択したい。

具体的な状況

子要素→item
親要素→genre
itemsテーブルにgenre_idカラムを持つ。
form_withなどでgenre_idを登録したい。その時、genresテーブルに登録されたgenreのtitleを直接、選択できるようにしたい。

書き方

[items/new]

<%= form_with model:@item, url: admins_items_path, method: :post do |i| %>
<p>name</p>
<%= i.text_field :name %>
<p>genre</p>
<%= i.select :genre_id, Genre.all.map {|p| [p.title, p.id]}, :prompt => "選択してください" %>

<%= i.submit "submit!" %>

selectを使うことで選択肢が出現します。
mapはGenre.allで取得したデータを配列として出力してくれます。
{|p| [p.title, p.id]}このような順で書くことにより、titleデータを選択肢として出力してくれます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0