хорошо, я думаю, я буду чувствовать себя глупо через 2 минуты, но как насчет
<%= f.collection_select :role_id, roles, :id, :name, prompt: true, @permission.role_id ? {} : {selected: 2 } %>
Причина, по которой ваше решение не работает, заключается в том, что ваш if
может вернуть nil
, поэтому выглядит примерно так:
<%= f.collection_select :role_id, roles, :id, :name, :prompt => true, {nil} %>
Где {nil}
- синтаксическая ошибка