Mar*_*ang 17 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 %>
Run Code Online (Sandbox Code Playgroud)
错误是:
syntax error, unexpected tASSOC, expecting keyword_end
...end= form_for(@user), :html => { :multipart => true } do |f...
... ^
Run Code Online (Sandbox Code Playgroud)
Als*_*ton 35
它应该是这样的:
form_for @user, :html => { :multipart => true } do |f|
Run Code Online (Sandbox Code Playgroud)
括号中form_for(@user)实际上是告诉Ruby解释器,只用一个参数调用函数,并且你不能在Ruby中的方法中传递错误数量的参数.
Ben*_*ate 29
http://guides.rubyonrails.org/form_helpers.html#uploading-files
它或者只是一个form_tag帮助者multipart => trueform_for
<%= form_tag({:action => :upload}, :multipart => true) do %>
<%= file_field_tag 'picture' %>
<% end %>
<%= form_for @person do |f| %>
<%= f.file_field :picture %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26665 次 |
| 最近记录: |