1

HAML ビューに次の Rails コードがあります。

= form_tag ..... do
  - @someArray.each do |age|
    = age
    = check_box_tag "ages[#{age}]", @keys.has_key? age ? checked : unchecked

ageここでやろうとしているのは、 variable が controller のインスタンス変数にあるかどうかに応じて、このチェックボックスをオンまたはオフにすること@keysです。ただし、これはエラーをスローしsyntax error, unexpected '\n', expecting tASSOCます。

この Ruby コードが評価されない理由はありますか? =これは、まさに Ruby コードを評価するために必要な in HAMLの後です。私が間違っている?申し訳ありませんが、私はRailsを初めて使用し、最初はかなり混乱しています。

ありがとう!

4

2 に答える 2

1

優先順位を修正した後、メソッド内の引数の順序@keys.has_key?(age)に注意する必要があります。ドキュメントを参照してください: check_box_tag

check_box_tag(name, value = "1", checked = false, options = {})

だから試してみてください:

= check_box_tag age, age, @keys.has_key?(age) ? true : false
于 2013-01-30T12:43:20.653 に答える
1

checkeduncheckedは変数です。と を書きたかったとし"checked"ます"unchecked"

また、優先順位に問題がある可能性も@a.b? c ? d : eあり@a.b?(c ? d : e)ます(@a.b?(c)) ? d : e

于 2013-01-30T00:34:20.907 に答える