レールが関係しているので、私はn00bです。私は最初のrails3プロジェクトで単一のマルチモデルフォームを作成しようとしています。詳細は以下のとおりです。
class Item < ActiveRecord::Base
# attr_accessible :title, :body
has_many :item_reviews, :dependent => :destroy
accepts_nested_attributes_for :item_reviews
end
と
class ItemReview < ActiveRecord::Base
# attr_accessible :title, :body
belongs_to :item
end
明確に言うと、アイテムには複数のレビューを含めることができますが、アイテムを作成するときは、少なくとも1つのレビューが必要です。だから私はアイテムを取得し、アイテムの作成中に単一のフォームで最初のレビューを取得したいと思います。
私は次のビューを使用しています:
<%provide(:title,'Create')%>
<h1> Add an Item review</h1>
<div class="row">
<div class="span6 offset3">
<%= form_for (@item) do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<% f.fields_for :item_reviews, @item.item_reviews do |ff| %>
<%= ff.label :shop_address %>
<%= ff.text_field :shop_address %>
<% end %>
<%= f.submit "Submit", class: "btn btn-large btn-primary" %>
<% end %>
</div>
</div>
<% f.fields_for :item_reviews, @item.item_reviews do |ff| %>
現在に関連付けられているitem_reviewがないため機能しません@item
(@item = Item.new
)@itemを保存するまで、新しいitem_reviewを作成できません。その場合はどうすればいいですか。
モデルに依存しない形式が1つの可能性であることは知っていますが、上記のようなものを使用して生活を楽にすることはできません。
PS:念のため、ブートストラップを使用しています。