我正在使用carrierwave上传文件......但遇到了一些问题。
我的表格是这样的:
<%= form_tag({:action => :submit}, :id=>"image_uploader", :multipart => true, :remote => true) do %>
<input style="file"...>
<% end %>
特别是,有一个文件输入。我想上传用户的头像。
process :resize_to_fit => [500, 500]
version :thumb do
process :resize_to_fill => [52, 52]
end
在控制器中,我设置了这些:
avatar = params[:avatar]
item.avatar = avatar
item.save
它可以将文件保存到正确的位置,但不会调整大小,也不会生成拇指版本。
根据https://github.com/jnicklas/carrierwave
我想也许我应该使用这些:
uploader = AvatarUploader.new
uploader.store!(avatar)
我猜“商店!”方法可以运行调整大小过程。
但似乎需要&lt;%= form_for @user%&gt;因为它需要一个ID。
然而,我只想使用form_tag,因为我正在创建一个新用户,而不是修改现有用户......
我该如何解决?
答案 0 :(得分:1)
在您的模型中添加
mount_uploader :avatar, AvatarUploader
您不需要对控制器中的图像执行任何操作。
您的@user = User.new
行动中还需要new
。