У меня есть Project
и ProjectSetting
модели со следующими ассоциациями:Pass @variable между контроллерами
class Project < ActiveRecord::Base
has_one :project_setting
end
class ProjectSetting < ActiveRecord::Base
belongs_to :project
end
В projects_controller
у меня есть:
def show
@project = Project.find(params[:id])
@project_setting = @project.project_setting
end
Поэтому я использую @project_setting
форму в @project
показать страницу, и я необходимо обновить @project_setting
с этой страницы.
В project_settings_controller
у меня есть:
def update
@project = Project.find(params[:id]) #problem is here
@project_setting = @project.project_setting
if @project_setting.update_attributes(params[:project_setting])
respond_to do |format|
format.html { redirect_to project_path(@project) }
format.js
end
end
end
Но @project
переменные в этих контроллеров не то же самое:
В projects_controller#show
это Project
с ID 26 и в project_settings_controller#update
находит Project
с ID 1
Поэтому мне нужно передать @project
переменную от projects_controller#show
до project_settings_controller#update
.
Спасибо за помощь!