1
在Rails 5,由於這兩款車型:添加爲一個關係,使關係減排失敗
class Solution < ApplicationRecord
has_many :tasks, -> { order(name: :asc) }
end
class Task < ApplicationRecord
belongs_to :solution
end
該代碼將失敗,並ActiveRecord::RecordInvalid: Validation failed: Tasks is invalid
:
solution = Solution.new(name: "My Solution", tasks: [
Task.new(name: "My Task")
])
solution.save!
這是由於任務的solution
是nil
:
(byebug) pp solution.tasks[0].errors.messages
{:solution=>["must exist"]}
但是,當刪除t他下令從has_many
條款(逼到has_many :tasks
),它工作正常:
(byebug) pp solution.tasks[0].solution == nil
false
這個預期?
示例項目(看最後兩次提交):https://github.com/hannesstruss/test_order_validation