ruby-on-rails – 在multipart simple_form中更新paperclip头像

我想为以下表单创建一个编辑页面.问题是当用户浏览到编辑页面时,品牌名称和名称是预先填充的,但即使在“样式”中存在头像时,图像上传字段也显示“没有选择文件”.请让我知道,如果有办法补救这个.谢谢!

我的编辑形式:

<%= simple_form_for @style,:html => { :class => 'form-horizontal' },:remote => true do |m| %>

    <%= m.input :brand_name,:label => 'Brand',:placeholder => 'Brand' %>    
    <%= m.input :name,:label => 'Style',:placeholder => 'Style' %>
    <%= m.input :avatar,:label => "Image" %>

    <div class="form-actions" style = "background:none">
      <%= m.submit nil,:class => 'btn btn-primary' %>
      <%= link_to 'Cancel',styles_path,:class => 'btn' %>
    </div>

<% end %>

解决方法

昨天刚刚实施.在/ app / inputs中自定义输入
class AvatarInput < SimpleForm::Inputs::FileInput
def input
out = '' # the output string we're going to build
# check if there's an uploaded file (eg: edit mode or form not saved)
if object.send("#{attribute_name}?")
  # append preview image to output
  # <%= image_tag @user.avatar.url(:thumb),:class => 'thumbnail',id: 'avatar' %>
  out << template.image_tag(object.send(attribute_name).url(:thumb),id: 'avatar')
  end
# append file input. it will work accordingly with your simple_form wrappers
    (out << @builder.file_field(attribute_name,input_html_options)).html_safe
  end
end

那你可以做

<%= f.input :avatar,:as => :avatar %>

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...