Подтвердить что ты не робот

Предварительно выбрать флажок с Rails Simple_form

Я использую Simple_Form с Rails 3, и это здорово. У меня простой вопрос. Я могу создать флажок, используя f.input, если тип является логическим за кулисами. Тем не менее, я бы хотел, чтобы он был выбран как истинный.

Есть ли способ сделать это через представление?

4b9b3361

Ответ 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