2013-11-07 4 views
0

Я запускаю свою собственную аутентификацию, и проблема, с которой я сталкиваюсь, - это форма редактирования для моих пользователей. Я вот форма ...Rails - Показывать обновленные поля при редактировании

#app/views/users/edit.html.erb 
<h1>Editing User</h1> 
<%= render 'form' %> 
<%= link_to 'Show', @user %> | 
<%= link_to 'Back', root_path %> 

#app/views/users/_form.html.erb 
<%= form_for @user do |f| %> 
    <% if @user.errors.any? %> 
    <div class="error_messages"> 
     <h2>Form is invalid</h2> 
     <ul> 
     <% @user.errors.full_messages.each do |message| %> 
      <li><%= message %></li> 
     <% end %> 
     </ul> 
    </div> 
    <% end %> 

    <div class="field"> 
    <%= f.label :email %><br /> 
    <%= f.text_field :email %> 
    </div> 
    <div class="field"> 
    <%= f.label :password %><br /> 
    <%= f.password_field :password %> 
    </div> 
    <div class="field"> 
    <%= f.label :password_confirmation %><br /> 
    <%= f.password_field :password_confirmation %> 
    </div> 
    <div class="field"> 
    <%= f.select :user_type, options_for_select(['Bar', 'Brewery', 'Restaurant', 'Hotel']) %><br/> 
    </div> 
    <div class="actions"><%= f.submit "Sign Up" %></div> 
<% end %> 

Проблема, которую я имею что когда я отобразить форму редактирования: поле user_type не является правильным. Я хочу, чтобы это поле отражало то, что в настоящее время сохраняется для текущего пользователя, вместо этого я просто выпадаю с первой опцией в отображаемом списке.

ответ

0

Вы хотите использовать либо:

<%= f.select :user_type, options_for_select(['Bar', 'Brewery', 'Restaurant', 'Hotel'], @user.user_type) %> 

или:

<%= f.select :user_type, options_for_select(['Bar', 'Brewery', 'Restaurant', 'Hotel']), :selected => @user.user_type %> 
+0

Чтобы легко !!! Thanx .. ребята рок. – Lumbee

0

options_for_select имеет второй параметр для предв его ...

options_for_select(['Bar', 'Brewery', 'Restaurant', 'Hotel'], @user.user_type) 
Смежные вопросы