Rails 3. Несколько значений в одном столбце, используя флажки - PullRequest
2 голосов
/ 09 марта 2012

Я следил за этим Railscast http://railscasts.com/episodes/189-embedded-association?view=comments, что, на мой взгляд, замечательно, но я хочу немного по-другому обрабатывать роли.

Я хочу иметь столбец 'role', в котором хранятся значения, разделенные запятыминапример: «администратор, учитель», чтобы пользователю были назначены роли администратора и учителя.

Я хотел бы установить это с флажками.

То, что у меня сейчас есть, сохраняет это вместо: "---\n- administrator\n- teacher\n- ''\n"

Как я могу это сделать?

_form.html.erb
<div class="group">
  <%= f.label :roles, "Roles", :class => :label %>
  <% for role in User::ROLES %>
    <%= check_box_tag "user[roles][]", role, @user.roles.include?(role) %>
    <%=h role.humanize %><br />
  <% end %>
  <%= hidden_field_tag "user[roles][]", "" %>
</div>

user.rb
ROLES = %w[superadmin admin instructor salesperson student]

1 Ответ

2 голосов
/ 10 марта 2012

посмотреть код Ниже должно работать

<% form_for @user do |f|%>
<div class="group">
  <%= f.label :roles, "Roles", :class => :label %>
  <% for role in User::ROLES %>
    <%= f.check_box :roles, :name => "#{f.object_name}[roles][]", role%>
    <%= h role.humanize %><br />
  <% end %>
</div>
<% end %>

для получения дополнительной информации прочитайте что-то подобное

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...