Ruby on Rails Boolean Form

Asked
Viewd3684

3

How can I pass a boolean value in a form to a controller without the user being able to see or edit it? I'm assuming hidden_field is used for this, but how can I then assign a value to the variable?

Thanks for the help -Pat

  • Don’t trust that a value won’t be modified by the user just because it’s hidden in a form.

    jdl15 сентября 2009, 21:47

1 ответов

4

Пэт,

Меня немного смущает то, что вы имеете в виду под "но как я могу затем присвоить значение переменной", но я попробую.

Во-первых, вы правы в бите hidden_field.

 <%= hidden_field_tag 'some_name', true %>
 

или, как вариант

 <%= hidden_field_tag 'some_name', false %>
 

Я уверен, что вы уловили суть дела.

Оттуда, в вашем контроллере, когда форма будет отправлена, вы получите значение этого поля следующим образом:

 some_boolean = params[:some_name]
 

Очевидно, имена переменных будут другими, но в этом суть всего.

Удачи!

  • извините, я не совсем понял, у меня было поле mysql, которое могло принимать логическое значение, и в зависимости от формы я хотел присвоить ему значение true или false. В итоге я использовал переключатель, который не отображался на странице, которая имела правильное значение для передачи в mysql. Спасибо за помощь.

    Pat R15 сентября 2009, 23:51