Ruby on rails RAILS中将模型从一个控制器动作传递到另一个控制器动作的替代方法
我在同一个控制器中有大约6-7个不同的操作,每次加载视图时都会遇到这些操作。我现在是这样做的:Ruby on rails RAILS中将模型从一个控制器动作传递到另一个控制器动作的替代方法,ruby-on-rails,ruby,view,model,controller,Ruby On Rails,Ruby,View,Model,Controller,我在同一个控制器中有大约6-7个不同的操作,每次加载视图时都会遇到这些操作。我现在是这样做的: person\u id被传递到URL中 人事主任 上面的代码片段是在我的控制器中以6-7个动作编写的,相当于我需要显示的6-7个视图name和age 如何在第一个视图中按ID查找此人,然后在每个操作中跟踪特定的此人模型,而不必查找他并使用.map方法?创建这样的函数 def set_person person_id = params[:person_id] people = Per
person\u id
被传递到URL中
人事主任
上面的代码片段是在我的控制器中以6-7个动作编写的,相当于我需要显示的6-7个视图name
和age
如何在第一个视图中按ID查找此人,然后在每个操作中跟踪特定的
此人
模型,而不必查找他并使用.map
方法?创建这样的函数
def set_person
person_id = params[:person_id]
people = PersonSearch.where(:person_id => person_id)
@response_people = people.map do |p|
{
:name => p.name,
:age => p.age
}
end
然后在控制器的顶部添加以下内容,但将:show和:edit替换为要设置person的控制器操作
before_action :set_person, only: [:show, :edit]
如果您可以访问视图中的@response\u people
,这将在您指定的每个操作之前运行set\u person函数
before_action :set_person, only: [:show, :edit]