2014-08-28 51 views
-1

我不明白为什么这回我一个错误类以的form_for Ruby on Rails的

<%= form_for(@user), :html => {:class => 'form-connexion'} do |f| %> 
    <%= render 'shared/error_messages' %> 

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

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

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

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

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

D:/xxxxxxx/app/views/users/edit.html.erb:7: syntax error, unexpected =>, expecting keyword_end ...end= form_for(@user), :html => {:class => 'form-connexion'}... ...^
D:/xxxxxxx/app/views/users/edit.html.erb:7: syntax error, unexpected keyword_do_block, expecting keyword_end ...{:class => 'form-connexion'} do |f| @output_buffer.safe_appe... ...^
D:/xxxxxxx/app/views/users/edit.html.erb:29: syntax error, unexpected keyword_ensure, expecting end-of-input 

我使用的是在另一个文件相同的语法,它的确定。

+5

它应该可能是'<%= form_for(@user,:html => {:class =>'form-connexion'})do | f | %>'。整个事情应该用'(..)'包装或者写成'<%= form_for @user,:html => {:class =>'form-connexion'} do | f | %>'。 – Bongs 2014-08-28 20:06:26

+0

感谢您的回答 – 2014-08-28 20:10:47

回答

3
form_for(@user), :html => ... 

那一端的支架,@user后,关闭通话的方法#form_for,所以它不知道如何处理逗号,然后哈希做。

修改成:

form_for(@user, :html => ...) do |f| 

而且你会好。甚至没有括号:

form_for @user, :html => ... do |f| 
+0

感谢您的回答 – 2014-08-28 20:11:24

+0

不客气。请记住将其标记为未来开发人员对您问题的答案。 – MrDanA 2014-08-28 20:11:56