Ruby on rails Rails—如何从助手中的视图访问请求参数

Ruby on rails Rails—如何从助手中的视图访问请求参数,ruby-on-rails,Ruby On Rails,如何在助手中访问视图的请求参数 我的视图events/index7设置所选的参数日期: <div><%= link_to 'View' , events_index7_path(:date_selected => date), :class => 'btn btn-mini'%></div> 我得到这个错误: undefined local variable or method `params' for #<CalendarHelper:

如何在助手中访问视图的请求参数

我的视图
events/index7
设置所选的参数日期:

<div><%= link_to 'View' , events_index7_path(:date_selected => date), :class => 'btn  btn-mini'%></div>
我得到这个错误:

undefined local variable or method `params' for #<CalendarHelper::Calendar:0x007f8d215671f0>
未定义的局部变量或方法“params”#
或者我应该以不同的方式将日期传递给助手


谢谢你的帮助

params
是一种控制器方法,属于
ActionController:Metal

通过将此控制器方法作为辅助对象公开,可以让View触摸
params

class FooController < ApplicationController
  helper_method :params
class FooController
然后,在您的视图中,您可以使用
params
作为参数调用此帮助程序<代码>我的助手(参数)

但是,等等,这违反了MVC原则。视图根本不应触及参数。所有这些工作都应在控制器级别完成。如果参数不正确怎么办?您需要控制器对此作出响应,而不是将该责任传递给视图


所以,如果你需要在视线中触摸它,它是一种气味。回顾整个过程,必须有更好的安排。

我可以用其他方式传递数据而不是参数吗?我不知道你的逻辑,所以答案中的解决方案仍然像黑客一样。如果我这样做,我将不会让视图接触params,这与他无关。相反,我将准备控制器或模型中的所有内容。
class FooController < ApplicationController
  helper_method :params