0

假设我有一个 Viewhome.html.erb和以下控制器:

class StaticController < ApplicationController
  def home
    @people = Person.all
  end

  def filter
    @people = ....
  end

  def contact
  end
end

现在,当页面加载时,我可以使用@people. 问题是当我想过滤那些我从我的home view和触发filter操作中调用 ajax 操作并设置新@people变量的人时。

在我的观点中,人们的价值观仍然是旧的,而不是新的。当我更改变量名称并将其设置如下时:

  def filter
    @people2 = ....
  end

当我尝试@people2在我的视图中迭代时收到一条错误消息。它说那@people2是空的。所以,我的问题是如何从我的视图中访问该变量?

谢谢你。

4

1 回答 1

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 将只包含男性。

于 2013-10-16T18:44:26.750 回答