Ruby Rails 中实例变量的生命周期

Lifecycle of Instance variables in Ruby on Rails

RailsRuby中实例变量的生命周期我不是很清楚。

  1. 我有一个实例变量@work_days(我在其中获取并加载了一个月中所有工作日的列表。用户从date_select 在 UI).

  2. 现在我有一个 Generate Report 按钮,它通过调用控制器中的 show 方法生成 excel 报告

  3. 每次用户单击 Generate Report 按钮(并调用 show 方法)时,@work_days 的值似乎是 nil而且我每次都要初始化它。

有没有办法避免这种情况?为什么每次调用controller的方法show,实例变量的值就变成nil

Rails 控制器根据请求实例化。这意味着每次收到请求时,所有实例变量都是nil,您需要初始化它们。