直到生意......
有分配用户的任务
class Task < ActiveRecord::Base
has_many :task_assignments, :dependent => :destroy
has_many :assigned_users, :through => :task_assignments, :source => :user
validates_associated :task_assignments
end
用户已分配任务
class User < ActiveRecord::Base
has_many :task_assignments, :dependent => :destroy
has_many :assigned_tasks, :through => :task_assignments, :source => :task
end
task_assignments表格如下所示
class TaskAssignment < ActiveRecord::Base
validates_presence_of :user, :message => 'You must add some USERS fool!'
belongs_to :user
belongs_to :task
end
这些协会似乎运作良好:0)
这就是擦除 - 当我通过/ tasks / new添加新任务时,我还想指定一个分配给该任务的用户列表,表单将在“params [:users_list] [:id]”中返回
我可以使用它,但我不希望表单验证,除非至少选择了一个用户。
我不能为我的生活弄清楚如何在模型中而不是在 create method 中进行验证。
正如您所看到的,我在任务方法中抛出了“验证_associated:task _assignments”,但无济于事。我显然是在我脑海里。
感谢您的帮助。
答案 0 :(得分:0)
我认为您必须将参数命名为user_ids ...
f.e:
params[:users_ids][:id]