2015-04-03 50 views
2

我創建了一個類別類沒有實例對象:當我創建了一個新的對象可以用attr_accessible在Rails的

class Category < ActiveRecord::Base 
    attr_accessible :name 
    has_many :posts 
end 

category = Category.new(:name => "News") 

我收到此錯誤:

`NoMethodError: undefined method 'attr_accessible' for Category(call 
'Category.connection' to establish a connection):Class ... 

我該如何解決這個問題?

+0

?從ActiveRecord的此方法已刪除,並具有較強的PARAMS – Avdept 2015-04-08 19:27:31

回答

0

要使用attr_accessor而不是attr_accessible

attr_accessor是一個Ruby方法定義setter和getter方法,而attr_accessible讓你白名單的質量分配ActiveRecord的屬性。

+0

我我之學教程 [從頭學習紅寶石(https://www.youtube.com/watch?v=gSf86udAntA&index=21&list=PLDmvslp_VR0xlwr5lAx2PDsZLu7oIOhpX) 在視頻 取代,使用attr_accessible 2015-04-03 03:46:42

+0

嗯,也許你應該使用attr_accessible。您可能只需要安裝https://github.com/rails/protected_attributes gem。 – infused 2015-04-03 03:51:33

+0

@nắnghuếyêugáihuế,'attr_accessible'不再適用於rails 4,而現在有'strong_parameters',這個視頻可能使用rails 3版本,而且您可能使用的是rails 4+版本 – 2015-04-03 09:49:07

0

這將解決您的問題。

class Category < ActiveRecord::Base 

    def user_params 
     params.require(:name) 
    end 
    has_many :posts 
end 
0

使用attr_accessor有..它會幫助你解決什麼軌的版本是您使用的問題

相關問題