2014-08-28 2 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 => {: класс => 'форма-связь'}) сделать | F | %> '. Все это должно быть завернуто в '(..)' или записать его как '<% = form_for @user,: html => {: class => 'form-connexion'} do | f | %> '. – Bongs

+0

Спасибо за ваш ответ –

ответ

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

Это конец кронштейна, после @user, закрывает вызов для метода #form_for, поэтому он не знает, что делать с запятой, а затем хэш.

Изменить что:

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

И вы будете хорошо. нет или даже не скобки:

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

Спасибо за ваш ответ –

+0

Добро пожаловать. Не забудьте отметить это как ответ на свой вопрос для будущих разработчиков. – MrDanA

Смежные вопросы