向用户添加图片的回形针
paperclip adding picture to user
我想在我的 rails 应用程序中使用回形针向用户添加图片
我的表单如下所示:
<%= form_tag :controler => "users", :action => :uploadimage, :class => "form-horizontal", html: { multipart: true }, :method => :post do |f| %>
<input type="hidden" id="user" name="userid" value="<%= @user.id %>" />
<div class="form-group">
<div class="col-sm-3"></div>
<div class="col-sm-9">
<input type="file" name="upload[image]" required="true" class="form-control"/>
</div>
</div>
<div class="form-group">
<div class="col-sm-3"></div>
<div class="col-sm-9">
<input type="submit" class="btn btn-default">
<%#= f.submit t("main.save"), :icon => :save, :onclick => "validate(); return false;" %>
</div>
</div>
<% end %>
上传操作如下所示:
def uploadimage
if request.post?
@user = User.find(params[:userid])
if @user.update_attribute(:image, params[:image])
flash[:notice] = t("flash.saved")
redirect_to :action => :settings
end
end
end
它做得很好,但在数据库中没有添加任何东西,在文件存储中也没有。
用户模型有这个:
has_attached_file :image, styles: { small: "64x64", med: "100x100", large: "200x200" },
:path => ":rails_root/public/uploads/:id/:filename",
:url => "/uploads/:id/:filename"
validates_attachment :image, :content_type => { :content_type => "image/jpg" }
数据库迁移已正确完成,所有需要的字段都已在用户中设置 table。
可能是什么问题?
问题是 params[:image]
应该是 params[:upload][:image]
因为表单中 输入字段 的 name
是 upload[image]
def uploadimage
if request.post?
@user = User.find(params[:userid])
if @user.update_attribute(:image, params[:upload][:image])
flash[:notice] = t("flash.saved")
redirect_to :action => :settings
end
end
end
我想在我的 rails 应用程序中使用回形针向用户添加图片
我的表单如下所示:
<%= form_tag :controler => "users", :action => :uploadimage, :class => "form-horizontal", html: { multipart: true }, :method => :post do |f| %>
<input type="hidden" id="user" name="userid" value="<%= @user.id %>" />
<div class="form-group">
<div class="col-sm-3"></div>
<div class="col-sm-9">
<input type="file" name="upload[image]" required="true" class="form-control"/>
</div>
</div>
<div class="form-group">
<div class="col-sm-3"></div>
<div class="col-sm-9">
<input type="submit" class="btn btn-default">
<%#= f.submit t("main.save"), :icon => :save, :onclick => "validate(); return false;" %>
</div>
</div>
<% end %>
上传操作如下所示:
def uploadimage
if request.post?
@user = User.find(params[:userid])
if @user.update_attribute(:image, params[:image])
flash[:notice] = t("flash.saved")
redirect_to :action => :settings
end
end
end
它做得很好,但在数据库中没有添加任何东西,在文件存储中也没有。
用户模型有这个:
has_attached_file :image, styles: { small: "64x64", med: "100x100", large: "200x200" },
:path => ":rails_root/public/uploads/:id/:filename",
:url => "/uploads/:id/:filename"
validates_attachment :image, :content_type => { :content_type => "image/jpg" }
数据库迁移已正确完成,所有需要的字段都已在用户中设置 table。
可能是什么问题?
问题是 params[:image]
应该是 params[:upload][:image]
因为表单中 输入字段 的 name
是 upload[image]
def uploadimage
if request.post?
@user = User.find(params[:userid])
if @user.update_attribute(:image, params[:upload][:image])
flash[:notice] = t("flash.saved")
redirect_to :action => :settings
end
end
end