Ruby on rails 如何从用户数组中创建多对多关系

Ruby on rails 如何从用户数组中创建多对多关系,ruby-on-rails,many-to-many,relationships,Ruby On Rails,Many To Many,Relationships,我在@users中得到了几个用户对象。我在params[:task]中有一个任务对象 现在我想保存taskobject并添加所有@users与该任务之间的关系 @users = User.find(session[:user_id], params[:user_task]) @task = @users.tasks.create(params[:task]) @task.owner_id = session[:user_id] if @task.save redirect_to

我在@users中得到了几个用户对象。我在params[:task]中有一个任务对象 现在我想保存taskobject并添加所有@users与该任务之间的关系

@users = User.find(session[:user_id], params[:user_task])
@task = @users.tasks.create(params[:task])
@task.owner_id = session[:user_id]      

if @task.save
  redirect_to task_path(@task)
我得到的只是一个错误,比如:数组的未定义方法“tasks”。
如何操作?

您需要首先初始化新任务,分配其所有者并保存它,如果成功,则可以创建与所有用户的关联

像这样:

@task = Task.new(params[:task])
@task.owner_id = session[:user_id]
if @task.save
  @users = User.find(session[:user_id], params[:user_task])
  @users.each { |user| user.tasks << @task }
@task=task.new(参数[:task])
@task.owner\u id=会话[:用户\u id]
如果@task.save
@users=User.find(会话[:User\u id],参数[:User\u task])

@users.each{| user | user.tasks不太清楚你想在这里做什么。你是如何获得用户的?在
params[:user\u task]
中有什么?我从用户ID获取他们。首先从会话中登录的用户获取,也从params[:user\u task]获取,这应该是复选框中的一些用户ID。1.我想创建新的任务参数[:task]2.并在@usersCan中为该任务添加与所有用户的关系。您可以发布模型关联代码吗?例如,
有许多
属于
等。现在就完美了:)!谢谢