Form_for with:multipart => true吐出
我正在尝试将“头像上传”字段添加到我的个人资料页面,但是只要我添加:html => {:multipart => true}
,就会出现语法错误。
{ :multipart => true } do |f| %>
错误是:
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_tag
帮助器, multipart => 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 %>
它应该是这样的:
form_for @user, :html => { :multipart => true } do |f|
form_for(@user)
的括号实际上是告诉Ruby解释器只使用一个参数调用该函数,并且您不能在Ruby中的方法中传递错误数量的参数。
我假设您要么使用’paperclip’或”carrierwave’来上传图像。 所以,试试这个:
<%= form_for @user, : url => users_path, :html => {:multipart => true} do |f| %>