从视图中访问另一个操作实例变量
Access another action instance variable from 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
当我尝试循环访问视图中的@people2
时收到错误消息。它说@people2
是空的。所以,我的问题是如何从我的观点访问该变量?
谢谢。
为什么要使用查询字符串中的参数进行筛选?
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只会包含雄性。
相关文章:
- ES6构造函数返回基类的实例
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 如何确定javascript已经完成了某些操作.ios上的
- KnockoutJS-组件-多个实例
- fluxxor向一个flux实例添加一组以上的操作
- 如何获取不同选项卡的实例,以便我可以存储变量/执行特定于各个选项卡的操作
- 从视图中访问另一个操作实例变量
- 变量在操作新实例后失去原始值
- 如何为同一 jquery 对话框的不同实例调用不同的操作
- 代码重构.对类的所有实例进行操作的方法
- 如何在视图中呈现部分 js 或访问在应用程序/资产中的 js.erb 文件中的控制器操作中初始化的实例变量/方法
- Javascript/AAJAX操作没有在@foreach循环(MVC C#)中的每个实例上运行
- 为什么不应该't我直接访问实例属性进行写操作
- 对实例本身的delete操作与对创建它的构造函数的delete操作
- 如何在元素的当前实例上执行操作
- 使用多个实例对每个元素执行jQuery操作
- 对象不支持此操作'当“newing"嵌套的Javascript对象实例
- 有些JS文件更像库——它们[…]永远不要直接操作QML组件实例"-中间立场
- angular.js非get实例操作返回error: value.Push不是一个函数