2015-04-03 1 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

ответ

0

Вы хотите использовать attr_accessor, а не attr_accessible.

attr_accessor - это метод Ruby, который определяет методы setter и getter, в то время как attr_accessible позволяет вам присваивать атрибуты ActiveRecord для белого списка.

+0

я learnning учебника [узнать рубин с нуля] (https://www.youtube.com/watch?v=gSf86udAntA&index=21&list=PLDmvslp_VR0xlwr5lAx2PDsZLu7oIOhpX) в видео , используйте attr_accessible

+0

Хм, возможно, вы должны использовать attr_accessible. Вам просто нужно установить https://github.com/rails/protected_attributes gem. – infused

+0

@ nắnghuếyêugáihuế, 'attr_accessible' больше не подходит для rails 4, вместо этого есть' strong_parameters', это видео, вероятно, использует версию rails 3, и вы, вероятно, используете рельсы 4+ версии –

0

Это исправит вашу проблему.

class Category < ActiveRecord::Base 

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

Используйте attr_accessor там .. это поможет решить проблему

Смежные вопросы