Rails 3 - collection_select - Понимание PROMPT? - PullRequest
6 голосов
/ 13 октября 2010

Я создаю форму, чтобы позволить пользователю CRUD разрешения проекта.

....

<% roles = Role.all %>
<%= f.collection_select :role_id, roles, :id, :name, :prompt => true %>

Проблемы с вышеупомянутым, в то время как он отображает:

  1. Если значение совпадает, это показывает, что в раскрывающемся списке выбрано, что хорошо.Проблема, если пользователь установлен как ADMIN.Использовать раскрывающийся список легко, чтобы изменить разрешение на что-то другое, но не для ОЧИСТКИ разрешения ...

Пример ... Выберите раскрывающийся список: - Пожалуйста, выберите - Администратор - Участник - Гость

Если выбрано Admin, пожалуйста, Select никогда не появляется .... Как сделать так, чтобы опция отображалась, чтобы пользователь мог удалить настройку?

Есть идеи?ТНХ

Ответы [ 2 ]

16 голосов
/ 13 октября 2010

Я полагаю, что вы хотите:

<%= f.collection_select(:role_id, roles, :id, :name, {:include_blank => 'Please Select'} %>

См. FormOptionsHelper документы для получения дополнительной информации

1 голос
/ 13 октября 2010
<% roles = Role.all %>
<%= f.collection_select :role_id, roles, :id, :name, :prompt => (@user.admin? ? true : false) %>

тебе это поможет?

у вас должен быть способ проверить, является ли пользователь администратором или нет .. используйте это условие в троичной операции для установки значения: prompt ..

Дай мне знать, как это происходит:)

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