Как добавить поле со списком с помощью помощника RoR? - PullRequest
6 голосов
/ 09 июля 2010

У меня есть такой:

<% form_for(@user) do |f| %>
  <%= f.error_messages %>

  <p>
    <%= f.label :username %><br />
    <%= f.text_field :username %>
  </p>
  <p>
    <%= f.label :email %><br />
    <%= f.text_field :email %>
  </p>
  <p>
    <%= f.label :password %><br />
    <%= f.password_field :password %>
  </p>             
 <p>
    <%= f.label :password_confirmation %><br />
    <%= f.password_field :password_confirmation %>
  </p>
    <p>
        <%= f.label :role %> <br/>
        <%= f.text_field :role%>
    </p>
  <p>
    <%= f.submit 'Create' %>
  </p>
<% end %>            

В базе данных роль - это поле "Char".Я хочу, чтобы он отличался от текстового поля, пользователь может выбрать «Учитель», «Ученик», если пользователь выберет «Учитель», в базе данных будет храниться «Т», в противном случае будет храниться «S».Как я могу это сделать?Мне необходимо добавить таблицу «Роль пользователя» в базу данных, а затем установить отношения с пользователем?Но нужно ли так делать?спасибо.

1 Ответ

18 голосов
/ 09 июля 2010

Ссылка выберите и options_for_select

<%= f.select :role, options_for_select([["Teacher", "t"], ["Student", "s"]]) %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...