我試圖設置一個has_many
與conditions
它適用於閱讀部分,但不適用於新條目。我在沙盒測試它幾個星期前,它的工作,但我不能得到它的工作再次所以也許我只是盲目的或者它僅僅是一個錯誤的設計:-)Rails has_many源代碼和條件不會創建條件屬性
class Task
has_many :task_users
has_many :assignees, :through => :task_users, :source => :user, :conditions => {"task_users.is_assignee" => true}
has_many :participants, :through => :task_users, :source => :user
end
class TaskUser < ActiveRecord::Base
belongs_to :user
belongs_to :task
end
class User
has_many :tasks
end
加入後新的受讓人任務這樣
Task.first.assignees << User.first
以下SQL執行
SQL (0.3ms) INSERT INTO `task_users` (`created_at`, `is_assignee`, `task_id`, `updated_at`, `user_id`) VALUES ('2012-11-18 15:52:24', NULL, 2, '2012-11-18 15:52:24', 3)
我想軌會用我的條件,當我加荷蘭國際集團新的設置這些值。閱讀很好,但我不知道爲什麼添加新值不符合條件。
我希望這INSERT
SQL (0.3ms) INSERT INTO `task_users` (`created_at`, `is_assignee`, `task_id`, `updated_at`, `user_id`) VALUES ('2012-11-18 15:52:24', 1, 2, '2012-11-18 15:52:24', 3)
就是所謂的連接表'task_users'或'item_users'?它看起來像你正在交替使用這些。你能澄清嗎? – cdesrosiers
它被稱爲'task_users'只是misstyped'任務'有'項目'有時:( 修正了我的文章中的拼寫錯誤 – Mike