0
我試圖在我的產品展示視圖中通過連接模型爲我的Producttracklisting has_many嵌套表單。什麼是正確的方法來做到這一點?我爲各種失敗的嘗試收到各種錯誤。 的型號如下:爲連接模型嵌套表單的正確方法?
class Product < ActiveRecord::Base
has_many :producttracklistings
has_many :tracks, :through => :producttracklistings
end
class Track < ActiveRecord::Base
has_many :producttracklistings
has_many :products, :through => :producttracklistings
end
class Producttracklisting < ActiveRecord::Base
belongs_to :product
belongs_to :track
end
的形式如下:
<%= form_for(@producttracklisting) do |f| %>
<%= f.label :track_id %>
<%= f.text_field :track_id %>
<%= f.label :product_id %>
<%= f.text_field :product_id %>
<%= f.submit %>
<% end %>
我試圖把這個轉化爲產品/節目使用:
<%= render 'producttracklistings/form' %>
與所有上面我得到一個「未定義的方法`model_name'爲NilClass:類」
在此先感謝。
非常感謝! – Raoot 2012-03-20 11:16:57
其實,我不確定這就是我所追求的,我想我可能會誤用'嵌套'這個詞。我所要做的就是將Producttracklisting表單帶到產品展示視圖上,以便我可以將軌道關聯到該產品。我基本上計劃運行一個循環來顯示每個曲目的'添加到產品'按鈕。這完全符合產品軌道/新視圖。 – Raoot 2012-03-20 11:41:00
啊...我明白了。好的,以及錯誤「未定義的方法'model_name'爲NilClass:Class」意味着它無法通過form_for調用中的給定變量解析模型名稱(ergo @producttracklisting未設置)。因此,要使用相同的表單,您必須在您的控制器中設置此變量,即使用「@producttracklisting = @ product.producttracklistings.build」左右...... – Vapire 2012-03-20 11:45:09