0

従業員のコントローラーで複数の結合テーブルを処理しようとしています。

2 つの結合テーブルがあります: http://img7.imagebanana.com/img/1cze8z4k/beziehungen.png

  • 従業員 -> 役職 -> 結合テーブル expected_qualifications -> スキル
  • 従業員 -> テーブル current_qualifications に参加 -> スキル

今、私は従業員コントローラーに書きました: @employee = Employee.find(params[:id], :include => [{:position => { :expected_qualifications => :skill}, { :current_qualifications => skill}] )

しかし、構文エラーがあります:

c:/src/script/system/app/controllers/employees_controller.rb:16: 構文エラー、予期しない ']'、tASSOC が必要です

...現在の資格 => スキル}] )

................................................^

まず、「tASSOC」が何であるかわかりません.Googleはこれに答えることができませんでした. しかし、もっと重要なことは、構文エラーが発生しないように、このコードをどのように記述するかということです。

4

1 に答える 1

0

tASSOC は=>トークンです。

次のようなコードがありますが、これは無効です。

{ :a => :b, { :c => :d } }

ハッシュのすべての値に対してキーを指定する必要があります。:position対応する値として Hash を持つkey のみを指定しました。次のものはキーを持っていないため、有効ではありません (または、Ruby インタープリターはハッシュの 2 番目の値を値のないキーとして認識しています... したがって、それ=>に従うことを期待しています)。

編集 | ご了承ください:

{ :a => :b, { :c => :d } => :e }

構文的に有効であるため、Ruby は 2 番目にネストされた Hash が実際にはキーであると想定しています。

于 2011-06-25T13:53:27.800 に答える