1

當我嘗試提交下面的表單時,我得到這個錯誤WARNING: Can't mass-assign protected attributes: sub_category。我曾試着在上一次詢問相關問題上stackoverflow和似乎我在正確的軌道,但由於某種原因,我仍然得到同樣的錯誤,我做錯了什麼?我已經包括了下面的所有信息,提前謝謝。我收到警告「不能批量分配受保護的屬性」

查看/形式

<%= form_for @ip ,:url=>{:action =>"create"} do |f| %> 
<%=f.text_field :email %> 
<% f.text_field :ip_address %> 
     <%= f.fields_for :sub_category do |s| %> 
     <%=s.text_field :name%> 
     <%end%> 
<%=f.submit "submit" %> 
<%end%> 

控制器

def create 
@ips=Ip.new(params[:ip]) 
    @[email protected]_categories.build 
if @ip.save 
    redirect_to :controller=>"home" ,:action=>"index" 
else 
    render 'index' 
end  

模型

class Ip < ActiveRecord::Base 
has_many :sub_categories ,:through=>:ip_subs 
has_many :ip_subs 
accepts_nested_attributes_for :sub_categories 
attr_accessible :sub_categories_attributes,:ip_address,:email,:ip_count 
end 

class SubCategory < ActiveRecord::Base 
has_many :ip ,:through=>:ip_subs 
has_many :ip_subs 
end 

class IpSub < ActiveRecord::Base 
belongs_to :ip 
belongs_to :sub_category 
end 

回答

1

您應該使用f.fields_for :sub_categories(協會名稱)。

而且不要忘記建立關聯呈現形式之前:

# in controller 
def new 
    @ip = Ip.new 
    @ip.sub_categories.build 
end 

rubyonrails api :: fields_for

+0

我想這樣一來,當我改變 - 行業標準嵌套字段名稱雖然消失。 – katie 2012-04-25 19:50:32

+0

'''@ ip.sub_categories.build'''呈現表格之前 – 2012-04-25 19:52:03

+0

抱歉,這是我的錯誤 – katie 2012-04-25 20:06:35

相關問題