这两种不同的方式是在强参数中编写嵌套属性吗?
Are these 2 different ways of writing nested attributes in strong params?
我正在使用嵌套属性和强参数,我已经看到在强参数中嵌套属性的两种不同方式。
举个例子:
class Post < ActiveRecord::Base
has_many :comments
accepts_nested_attributes, :comments
class Comments < ActiveRecord::Base
belongs_to :post
我在Post控制器中看到过这两种注释嵌套方式,有区别吗?
params.require(:post)
.permit(:title, :id, :author, :comment => [:id, :content, :post_id, :user_id])
或
params.require(:post)
.permit(:title, :id, :author, comments_attributes: [:id, :content, :post_id, :user_id])
它们看起来很相似……通常我会认为那个是早期版本,但我相信强参数相对较新。有什么区别?
Ruby
中只有两种不同的哈希语法
params.require(:post).permit(:title, :id, :author, :comments_attributes => [:id, :content, :post_id, :user_id])
和
params.require(:post).permit(:title, :id, :author, comments_attributes: [:id, :content, :post_id, :user_id])
相同
当您添加 accepts_nested_attributes_for :comments
时,它会创建一个 comments_attributes 方法。 comments 方法需要一个数组,不确定如果你向它发送一个 comments 参数它会做什么,也许什么都不会。 link 到另一个 'nested params' 示例与 accepts_nested_attributes
不同。
我正在使用嵌套属性和强参数,我已经看到在强参数中嵌套属性的两种不同方式。
举个例子:
class Post < ActiveRecord::Base
has_many :comments
accepts_nested_attributes, :comments
class Comments < ActiveRecord::Base
belongs_to :post
我在Post控制器中看到过这两种注释嵌套方式,有区别吗?
params.require(:post)
.permit(:title, :id, :author, :comment => [:id, :content, :post_id, :user_id])
或
params.require(:post)
.permit(:title, :id, :author, comments_attributes: [:id, :content, :post_id, :user_id])
它们看起来很相似……通常我会认为那个是早期版本,但我相信强参数相对较新。有什么区别?
Ruby
中只有两种不同的哈希语法params.require(:post).permit(:title, :id, :author, :comments_attributes => [:id, :content, :post_id, :user_id])
和
params.require(:post).permit(:title, :id, :author, comments_attributes: [:id, :content, :post_id, :user_id])
相同
当您添加 accepts_nested_attributes_for :comments
时,它会创建一个 comments_attributes 方法。 comments 方法需要一个数组,不确定如果你向它发送一个 comments 参数它会做什么,也许什么都不会。 link 到另一个 'nested params' 示例与 accepts_nested_attributes
不同。