上額外的屬性我有一個已經和屬於許多product_linksHABTM嵌套形式
class Product < ActiveRecord::Base
has_many :map_product_prices
has_many :product_links, :through => :map_product_prices
accepts_nested_attributes_for :product_links
和......一個產品
class ProductLink < ActiveRecord::Base
has_many :map_product_prices
has_many :products, :through => :map_product_prices
accepts_nested_attributes_for :products
我使用Ryan Bates的nested_form「寶石本。這是我無法環繞我的大腦的問題。地圖表也有附加的價格屬性。
class MapProductPrice < ActiveRecord::Base
attr_accessible :product_link_id, :product_id, :price
belongs_to :product
belongs_to :product_link
我有一個多選框,可以在產品鏈接表單上選擇一個或多個產品。但那是當我切換到瑞恩寶石使用嵌套窗體,以便我可以有一個選擇框來選擇產品,然後輸入價格的文本字段。然後我可以根據需要添加/刪除它們。
這裏是我有我的觀點:
<%= f.fields_for :products do |product| %>
<%= product.select :product_id, options_for_select(select_options) %>
<%= product.text_field :price %>
<%= product.link_to_remove "Remove this product" %>
<% end %>
<p><%= f.link_to_add "Add a product", :products %></p>
人對如何最好地做到這一點任何想法?
我從這種形式得到的是,沒有產品的product_id屬性。這是有道理的,因爲product_id位於映射表上,而不是產品。那麼我怎樣才能在這個嵌套表單中引用映射表而不是產品呢?我不想添加新產品,我希望能夠在現有產品中添加新映射,並在每個映射旁邊添加價格。
感謝
編輯: 我已經編輯我的代碼,以反映具有通過我試過很多。當我查看視圖時,它告訴我產品生成器對象上沒有product_id或price屬性。如何將此設計轉化爲表單並使其工作?謝謝
謝謝,我實際上嘗試過這一點,當涉及到表單提交時也有相同的結果。有一些我想念我想.. – Sean
任何想法..?感謝您的幫助,我對這個看似簡單的事情感到沮喪。 – Sean
我並不真正熟悉那個寶石。如果你仍然需要幫助,我今晚會看看。 – Arel