【发布时间】:2014-09-13 19:46:58
【问题描述】:
假设一个模型Book,具有:
class Book < ActiveRecord::Base
has_many: pages
accepts_nested_attributes_for :pages
要更新Page 记录而不是创建新记录,Rails 要求在“强参数”(Book 实例)中允许嵌套模型的 ID(此处为:Page):
def update
@book.update(book_params)
end
private
def book_params()
params.require(:book).permit(:title, :author, :published,
pages_attributes: [:id, :word_count, :line_count]) # <= this ID in here
end
但是在“强参数”中包含IDs 不是违背了他们的目的吗? (意思是:用户可以提交一个错误的ID,导致错误的关联。)
【问题讨论】:
标签: ruby-on-rails nested-attributes strong-parameters