2013-05-20 109 views
0

我總是收到一個錯誤,說我無法批量分配受保護的屬性:product_id當我在下面的控制器中運行代碼。 我已確認@product確實存在。有關如何解決這個問題的任何建議?如何解決質量分配保護的屬性問題?

控制器:

@product = Product.find(1) 
a = Category.new(:category => 'Glasses', :product_id => @product.id) 
a.save 

class Product < ActiveRecord::Base 
    attr_accessible :blog 
    has_many :categories 
end 

class Category < ActiveRecord::Base 
    attr_accessible :category 
    belongs_to :product 
end 

回答

2

寫作

@product = Product.find(1) 
@product.categories.create(:category => 'Glasses') 

也更優雅,應該解決您的問題。

0

嘗試:

class Category < ActiveRecord::Base 
    attr_accessible :category, :product 
    belongs_to :product 
end 

然後:

@product = Product.find(1) 
a = Category.new(:category => 'Glasses', :product => @product) 
a.save 
-1

構建它通過協會

@product = Product.find(1) 
a = @product.categories.new(:category => 'Glasses') 
a.save 

既然你沒有attr_accessible :category, :product在你的分類模型

相關問題