Ruby on rails 4 Rails 4中Carrierwave的未允许参数错误
好吧,我真的被困在这里了。已经阅读了所有的文档,所以无法理解发生了什么。允许用户通过使用Carrierwave上载文件来更新其配置文件的简单示例。我的日志一直显示Ruby on rails 4 Rails 4中Carrierwave的未允许参数错误,ruby-on-rails-4,carrierwave,Ruby On Rails 4,Carrierwave,好吧,我真的被困在这里了。已经阅读了所有的文档,所以无法理解发生了什么。允许用户通过使用Carrierwave上载文件来更新其配置文件的简单示例。我的日志一直显示 Unpermitted parameters: avatar 错误 我的看法是: <%= form_for current_user, html: { multipart: true } do |f| %> <%= f.file_field :avatar %> <%= f.submit "Upda
Unpermitted parameters: avatar
错误
我的看法是:
<%= form_for current_user, html: { multipart: true } do |f| %>
<%= f.file_field :avatar %>
<%= f.submit "Update Profile", remote: true, class: "btn btn-default" %>
<% end %>
我的控制器:
class UsersController < ApplicationController
def update
current_user.update_attributes(user_params)
respond_to do |format|
format.html { render 'show'}
format.js {}
end
end
def user_params
params.fetch(:user, {}).permit(:id, :email, :username, :password, :password_hash, :avatar, projects_attributes: [:id, :user_id, :name])
end
end
params.require(:user).permit(:avatar,...)
我的模型
class User < ActiveRecord::Base
mount_uploader :avatar, AvatarUploader
end
尚未接触上载程序文件
class AvatarUploader < CarrierWave::Uploader::Base
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
end
看起来很简单,为什么我会犯这个错误
更新:服务器日志:
Started PATCH "/users/91" for 127.0.0.1 at 2014-04-03 11:38:22 -0700
Processing by UsersController#update as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"+cLF9iPcZSL3Lc87o7/gPZjwgc9ySr7dOKmm6Yxhbno=", "user"=>{"username"=>"s+ Index", "avatar_attributes"=>#<ActionDispatch::Http::UploadedFile:0x007f81db4060c8 @tempfile=#<Tempfile:/var/folders/xl/wpdby5jn59q7hy9w0v2nv8xc0000gn/T/RackMultipart20140403-3890-127m17g>, @original_filename="cover.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"user[avatar_attributes]\"; filename=\"cover.jpg\"\r\nContent-Type: image/jpeg\r\n">}, "commit"=>"Update Profile", "id"=>"91"}
[1m[35mUser Load (0.4ms)[0m SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1 [["id", 91]]
Unpermitted parameters: avatar
只是有同样的问题 我遇到了一个问题,因为我搁置了这样的文档:
<%= f.file_field :avatar, multiple: true %>
你能在问题中分享完整的服务器日志吗。这将有助于调试。Kirti,上面已更新,谢谢。Kirti,没关系,它正在工作。没问题。如果你的问题得到解决,那么你可以发布答案。解决方案是什么????
params.require(:user).permit(:avatar,...)