フォームおよび入力ヘルパーを ActiveRecord モデルと組み合わせて使用していません。代わりに、で終わるフォーム ヘルパーを使用して、ダムフォーム_tag
を生成しています。
website_links は ActiveRecord モデルであると仮定します。
よりスマートなフォームを作成するには、これらすべての website_links の親オブジェクトを取得する必要がある場合があります。このように、これらすべての Web サイト リンクには、参照する共通の親があります。
この場合Website
、親として機能するというモデルがあると仮定します。この Web サイトhas_many :website_links
ともちろん WebsiteLink belongs_to :website
。
Website
URLwebsite/45/edit
が呼び出されたときにモデルがレンダリングされるフォームを作成しましょう。update
メソッド用に生成されたデフォルト コードを に残しますwebsite_controller
。
<%= form_for @website do |f| %>
<%= f.input_field :website_name %>
<%= f.fields_for :website_links do |subform| %>
<%= subform.object.link_name %>
<%= subform.check_box :checked %>
<% end %>
<%= f.submit %>
<% end %>
Website
また、次の行をモデルに追加します。
accepts_nested_attributes_for :website_links, allow_destroy: true
これにより、Web サイト モデルは関連する website_links のパラメーターを取得し、それらのリンクを更新できます。
このコードはテストしていないため、ニーズに合わない可能性があることに注意してください。おそらく、リンクも追加および削除する必要があります。このRailsCastにも、適切な説明がいくつかあります。