0

我在@users 中得到了几个用户对象。我在 params[:task] 中有一个任务对象现在我想保存任务对象并添加所有@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)

我得到的只是一个错误,例如:数组的未定义方法“任务”。我该怎么做?

4

1 回答 1

1

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

像这样:

@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 }
于 2013-02-08T13:25:26.093 回答