假设我有一个View home.html.erb
和以下控制器:
class StaticController < ApplicationController
def home
@people = Person.all
end
def filter
@people = ....
end
def contact
end
end
现在,当页面加载时,我可以使用@people
轻松访问这些人。问题是当我想从我的home view
过滤那些我称为ajax操作的人并触发filter
操作并设置新的@people
变量时。
在我的视图中,仍然存在旧的人而非新的价值观。当我更改变量名称并将其设置为:
def filter
@people2 = ....
end
当我尝试在View中迭代@people2
时收到错误消息。它说@people2
为空。那么,我的问题是如何从我的View中访问该变量?
谢谢。
答案 0 :(得分:0)
为什么要使用查询字符串中的参数进行过滤?
def home
if params[:gender]
@people = Person.where(gender: params[:gender])
else
@people = People.all
end
end
如果您转到/home.html?gender=male
,params[:gender]
将返回"male"
,而@people将只包含男性。