В моей модели у меня естьRails вложенного атрибута не сохранение
class Blog < ActiveRecord::Base
has_many :tags, :dependent => :destroy
accepts_nested_attributes_for :tags, :allow_destroy => true
end
class Tag < ActiveRecord::Base
belongs_to :blog
validates :blog, :name, presence: true
end
Блог контроллер
def new
@blog = Blog.new
@blog.tags.build
end
_form.html.erb
Блог контроллер
def create
@blog = Blog.new(blog_params)
binding.pry
end
def blog_params
params.require(:blog).permit(:title, :author, :text, :avatar, :banner, :tags_attributes => [:id, :name])
end
В моей привязке он говорит, что сообщение об ошибке @ blog заключается в том, что оно не может быть сохранено, потому что в теге отсутствует файл blog_id. Я повсюду смотрел, и я попытался воспроизвести свой код, чтобы соответствовать другим решениям, но без успеха.
Если это помогает, в моих Params, когда я представить форму я получаю это
"tags_attributes"=>{"0"=>{"name"=>"dsfsf"}}
Попробуйте изменить 'f.fields_for: tags' на' f.fields_for: tags_attributes'? @Edmund Lee в противном случае правильно, вы должны использовать 'create' вместо' new' здесь, чтобы сохранить объект в db. – Glyoko
nope это не сработало. У меня только есть blog.new, потому что у меня есть блог. Сохраняйте мой код, который я не включил в мой вопрос – brandoncodes
@brandoncodes @Glyoko, это потому, что он проверяет наличие: id в 'Tag' –