Rails - синтаксическая ошибка в контроллере при использовании двух таблиц соединения - PullRequest
0 голосов
/ 25 июня 2011

Я пытаюсь разобраться с несколькими таблицами соединений в контроллере сотрудника.

У меня есть 2 таблицы присоединения: http://img7.imagebanana.com/img/1cze8z4k/beziehungen.png

  • сотрудник -> должность -> таблица присоединения ожидаемые_квалификации -> навыки
  • сотрудник -> стол объединенияcurrent_qualifications -> навыки

теперь я написал в контроллер сотрудника: @employee = Employee.find(params[:id], :include => [{:position => { :expected_qualifications => :skill}, { :current_qualifications => skill}] )

но есть синтаксическая ошибка:

c: / src / script / system /app / controllers / employee_controller.rb: 16: синтаксическая ошибка, неожиданное ']', ожидание tASSOC

... urrent_qualifications => skill}])

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

Сначала у меня естьПонятия не имею, что такое "ТАССОК", Google не мог ответить мне на это.Но самое главное: как написать этот код, чтобы больше не было синтаксической ошибки?

1 Ответ

0 голосов
/ 25 июня 2011

tASSOC - это токен =>.

У вас есть такой код, который недопустим:

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

Вы должны указать ключ для каждого значения в хэше.Вы указали только ключ :position, который имеет Hash в качестве соответствующего значения.Следующий материал недопустим, поскольку у него нет ключа (точнее, интерпретатор Ruby видит второе значение в хэше как ключ без значения ... поэтому он ожидает, что => будет следовать за ним).

РЕДАКТИРОВАТЬ |Обратите внимание, что:

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

будет синтаксически допустимым, поэтому Ruby предполагает, что второй вложенный Hash на самом деле является ключом.

...