Я могу получить модель Сообщение для корректной работы has_many
и accepts_nested_attributes_for
Категория модели. Тем не менее, я хочу ограничить пост, чтобы иметь только одну категорию, в которой я терпит неудачу. Вот пересмотренный код:Ошибка Rais 5 с nested_attributes для отношения has_one
# post.rb
has_one :category_tag, :dependent => :delete
has_one :category, through: :category_tag
accepts_nested_attributes_for :category_tag
# posts_controller.rb
def new
@post = Post.new
@post.category_tag.build
end
И^есть проблема: не определен метод «сборки» для ноля: NilClass
Он работал хорошо, когда я использовал has_many :category_tags
в модели и @post.category_tags.build
ТИА
Я использую рельсы 5 и грош решения Мне кажется, что это не работает. 'undefined method build_category_tag' –
Это очень странно! Я перешел к настройкам 'has_many', чтобы продолжить работу над другими аспектами приложения. Однако, когда вы отправили ответ (который не сработал), я попробовал исходную строку (после переключения на параметры has_one) '@ post.category_tag.build' снова, и она работала безупречно. Я помню, что я перезапустил сервер (который не должен был быть проблемой в первую очередь), когда я пытался, что я написал. –
Он должен был быть создан. См. Http://guides.rubyonrails.org/association_basics.html#has-one-association-reference – SteveTurczyn