ruby-on-rails - 带:multipart => true的Form_for吐出

标签 ruby-on-rails form-for

我试图将“头像上传”字段添加到我的“个人资料”页面,但是一旦我将:html => {:multipart => true}添加到它,它就会吐出语法错误。

<%= form_for(@user), :html => { :multipart => true } do |f| %>
<%= render 'shared/error_messages', object: f.object %>

<%= f.label :name %>
<%= f.text_field :name %>

<%= f.label :email %>
<%= f.email_field :email %>

<%= f.label :password %>
<%= f.password_field :password %>

<%= f.label :password_confirmation, "Confirmation" %>
<%= f.password_field :password_confirmation %>


<%= f.label :avatar %>
    <%= f.file_field :avatar %>

    <%= f.submit "Save changes", class: "btn btn-large btn-primary" %>
<% end %>

错误是:
syntax error, unexpected tASSOC, expecting keyword_end
...end=  form_for(@user), :html => { :multipart => true } do |f...
...                               ^

最佳答案

http://guides.rubyonrails.org/form_helpers.html#uploading-files

它可以是带有form_tagmultipart => true助手,也可以只是form_for

<%= form_tag({:action => :upload}, :multipart => true) do %>
  <%= file_field_tag 'picture' %>
<% end %>

<%= form_for @person do |f| %>
  <%= f.file_field :picture %>
<% end %>

关于ruby-on-rails - 带:multipart => true的Form_for吐出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10526641/

相关文章:

ruby-on-rails - 大型 Heroku Slug 尺寸

ruby-on-rails - rails : Two Different Submit buttons in a form

ruby-on-rails - Rails、STI 和 'becomes' - f.object.errors 未显示在 View 中

ruby-on-rails - Ruby on Rails : symbol as argument in form_for

mysql - 使用 ruby​​ on rails 事件记录插入多条记录

ruby-on-rails - Rails - 带有 format.js 的 Rspec 3 Controller 操作

ruby-on-rails - Rails simple_form - 隐藏字段 - 创建?

ruby-on-rails - :url, :action, 之间的 RoR 差异:form_for 中的方法

ruby-on-rails - 工厂女孩: can one reopen factory definitions and complete them?

ruby-on-rails - user.find(1) 导致异常,是我的系统正常还是我的设置搞砸了?