rails 数组属性的强参数错误
rails strong parameter error on array attribute
我尝试 post 我的 json 使用此请求正文 rails 服务器
{"post":{
"user_id": 2,
"title": "kehangatan di pagi hari",
"category": "kehangatan di pagi hari",
"imageposts": [{"imageurl":"DJAWHDAHWDKJHAW DHJAWDHAWDAWDAD"}],
"description":"<p>memang sange</p>"
} }
这是我的 posts_params
def post_params
params.require(:post).permit(:title, :user_id, :description, :category, :imageposts => [:imageurl])
end
不幸的是,当我创建 ajax post 时,我的终端出现错误
#<ActiveRecord::AssociationTypeMismatch: Imagepost(#42287660) expected, got ActiveSupport::HashWithIndifferentAccess(#30074960)>
我已经对我的图像进行了尝试post的强大参数,但它也不起作用
imageposts: [:imageurl]
谁能解决这个问题...
strong params
很好。问题是 imageposts
是一个关联,但是,只是猜测,试图将其设置为属性 post.update_attributes(post_params)
如果你想让它像这样更新,可能的解决方案是使用accepts_nested_attributes_for
:
您的模型必须具有如下内容:
class Post
belongs_to :user
has_many :imageposts
accepts_nested_attributes_for :imageposts
end
并且参数的名称必须是 imageposts_attributes
而不是 imageposts
:
def post_params
params.require(:post).permit(:title, :user_id, :description, :category, :imageposts_attributes => [:imageurl])
end
您正在传递多张图片。所以你可以使用 coocoon gem
和 accepts_nested_attributes_for
我尝试 post 我的 json 使用此请求正文 rails 服务器
{"post":{
"user_id": 2,
"title": "kehangatan di pagi hari",
"category": "kehangatan di pagi hari",
"imageposts": [{"imageurl":"DJAWHDAHWDKJHAW DHJAWDHAWDAWDAD"}],
"description":"<p>memang sange</p>"
} }
这是我的 posts_params
def post_params
params.require(:post).permit(:title, :user_id, :description, :category, :imageposts => [:imageurl])
end
不幸的是,当我创建 ajax post 时,我的终端出现错误
#<ActiveRecord::AssociationTypeMismatch: Imagepost(#42287660) expected, got ActiveSupport::HashWithIndifferentAccess(#30074960)>
我已经对我的图像进行了尝试post的强大参数,但它也不起作用
imageposts: [:imageurl]
谁能解决这个问题...
strong params
很好。问题是 imageposts
是一个关联,但是,只是猜测,试图将其设置为属性 post.update_attributes(post_params)
如果你想让它像这样更新,可能的解决方案是使用accepts_nested_attributes_for
:
您的模型必须具有如下内容:
class Post
belongs_to :user
has_many :imageposts
accepts_nested_attributes_for :imageposts
end
并且参数的名称必须是 imageposts_attributes
而不是 imageposts
:
def post_params
params.require(:post).permit(:title, :user_id, :description, :category, :imageposts_attributes => [:imageurl])
end
您正在传递多张图片。所以你可以使用 coocoon gem
和 accepts_nested_attributes_for