我有2个模型Post
和Photo
:
class Post < ActiveRecord::Base
has_many :photos
end
和:
class Photo < ActiveRecord::Base
belongs_to :post
has_attached_file :photo,styles:{medium:"300x300>", small:"100x100>"}
validates_attachment_content_type :photo, :content_type => /\Aimage\/.*\Z/
validates :photo, presence: true
end
我对photos_controller进行了一次更改,因此可以上传照片,我添加了:photo
:
def photo_params
params.require(:photo).permit(:post_id, :photo)
end
但是当我想添加一张新照片时,我会在日志中收到此警告:
Unpermitted parameters: post
以下是参数:
Processing by PhotosController#update as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"gSiLdGHe3VM8Ka6gjTKk7xjcK0omPdvqfQ0DRRXdOKo=",
"photo"=>{"post"=>"1"}, "commit"=>"Update Photo", "id"=>"1"}
注意:我的photo
模型中有Photo
属性,但我认为这不会产生任何问题,而且我正在使用paperclip gem来上传图片。
答案 0 :(得分:0)
根据我在发送到服务器的参数中看到的,post
(不是post_id
)设置为1。
Rails告诉您,您尝试将post
(未经许可的参数)分配给1(虽然您在post_id
方法中仅允许photo_params
)。