Два объекта Task
и Project
имеют ассоциацию has_many
- belongs_to
:Rails, как создать независимый объект
class Project < ActiveRecord::Base
has_many :tasks, dependent: :destroy
end
class Task < ActiveRecord::Base
belongs_to :project
end
контроллер задач, метод для создания связанного объекта:
def create
@project = Project.find(params[:project_id])
@task = @project.tasks.build(task_params)
respond_to do |format|
if @task.save
format.html { redirect_to @project, notice: 'Task was successfully created.' }
format.js {}
format.json { render json: @task, status: :created, location: @task }
else
format.html { render action: "new" }
format.json { render json: @task.errors, status: :unprocessable_entity }
end
end
end
View task # index, где содержится список всех задач. Задача индекса метод контроллера:
def index
@tasks = Task.all
@task= Task.new
end
Как создать независимый объект Task
в этом методе?
Ошибка:
ActiveRecord::RecordNotFound in TasksController#create
Couldn't find Project with 'id'=
Могу ли я создать еще один метод create
и использовать его?
'Task.new'? Где вы хотите создать эту «независимую» задачу? –
@MarekLipka В представлении 'task # index' –