Почему эта ассоциация has_many не устанавливает внешний_ключ, когда я делаю объявление внешнего ключа после блока области видимости - PullRequest
0 голосов
/ 16 октября 2018

Эта ассоциация изначально была такой:

has_many :owned_to_dos, foreign_key: "job_id"

... и ассоциация работала нормально

Я пытаюсь включить гем act_as_list, поэтому я изменил ассоциацию на эту:

has_many :owned_to_dos, -> { order(position: :asc) }, foreign_key: "job_id"

... и теперь я получаю следующую ошибку:

NoMethodError - undefined method `owned_job_id' for # 
<OwnedToDo:0x00007f98c4a66530>
Did you mean?  owned_job
               owned_job=:

Может кто-нибудь сказать мне, почему Rails не воспримет мое объявление foreign_key таким образом?

Если я сделаю ассоциацию следующим образом:

has_many :owned_to_dos, foreign_key: "job_id", -> { order(position: :asc) }

... тогда я получу эту ошибку

SyntaxError - syntax error, unexpected '\n', expecting =>
...", -> { order(position: :asc) }
...                               ^:
...