Рельсы 3 - как сделать тройное состояние на виду? - PullRequest
0 голосов
/ 25 июля 2011

У меня есть троичный оператор, и я пытаюсь этот троичный оператор поставить в флажок, но я все еще совершаю ошибку при записи (синтаксическая ошибка) ...

Поэтому я хотел бы спросить о помощи, какделать ...

CAR: <%= f.check_box :car, :value => 2, ((f.sex == 2) ? (:checked => true) : (:checked => false)) %>

Ответы [ 2 ]

1 голос
/ 25 июля 2011

<%= f.check_box :car, :value => 2, :checked => f.sex == 2 ? true : false %> будет работать, но может быть сокращено до <%= f.check_box :car, :value => 2, :checked => f.sex == 2 %>!

1 голос
/ 25 июля 2011

Вам не нужен троичный оператор здесь. Попробуйте вместо этого:

CAR: <%= f.check_box :car, :value => 2, :checked => (f.sex == 2) %>

Также ваша проблема связана с тем, что в литерале Hash вы не можете определять ключи условно, поэтому:

{:a => (:b || :c)} действительно

{:b ? (a: => :b) : (:a => :c)} недействительно

...