Предварительно выбрать флажок с Rails Simple_form
Я использую Simple_Form с Rails 3, и это здорово. У меня простой вопрос. Я могу создать флажок, используя f.input
, если тип является логическим за кулисами. Тем не менее, я бы хотел, чтобы он был выбран как истинный.
Есть ли способ сделать это через представление?
Ответы
Ответ 1
лучшим способом было бы установить значение по умолчанию в вашей модели, что-то вроде
create_table :my_table do |t|
...
t.boolean :my_boolean, :default => true
...
end
который будет simple_form
, и установите флажок по умолчанию.
Более простой способ - сделать это, как говорит Дэйв, и просто заставить значение равным 1, но если проверка не удалась, и вы снова отобразите форму, она все равно будет проверена, независимо от того, как она выглядела, когда форма была представленный.
Ответ 2
Если вы не хотите или не можете обновить свою миграцию, чтобы выполнить ответ "PerfectlyNormal", вы можете добавить следующее в конец f.input:
:input_html => { :checked => true }
Итак, это будет:
= f.input :some_flag, :input_html => { :checked => true }
Надеюсь, что это поможет!
Ответ 3
Он работал у меня, который проверяет только один флажок со значением "Нет"
<%= f.input :notify, label: "Notification", as: :check_boxes, collection: ["None", "Daily", "Weekly", "Monthly", "Quarterly", "Yearly"], :item_wrapper_class => 'inline', :checked => ["None", true] %>
Ответ 4
Это должно работать:
= f.input :some_flag, :input_html => { :value => '1' }
Ответ 5
Я просто наткнулся на этот пост, и то, что сработало для меня, похоже на последний ответ - но короче. Просто инициализируйте объект с желаемой настройкой:
def new
Object.new(my_boolean: true)
end
Ответ 6
По моему мнению, железнодорожный способ сделать это - установить значение атрибута в контроллере:
@some_object.some_flag = 1