我有一个生成器form_tag,我有复选框。我不是将这些记录保存到数据库中,但是我想对它们进行操作,所以我得到了我的“创建”方法:
...
def create
@generator = Generator.new(params[:generator])
@fname = @generator[:fname]
redirect_to generators_show_path
...
其中'fname'是其中一个复选框;) 而且我有'show'文件:
<p>
<b>Fname:</b>
<% if @fname.nil? %>
fname is nil!
<% else %>
fname has a value:D
<% end %>
</p>
但每次fname都是零!为什么?? :(
答案 0 :(得分:1)
您似乎在操作@fname
中设置create
,然后重定向到操作show
(呈现视图的位置)。
当重定向发生时,当前请求(作为控制器的实例存在)已完成,并且发出了新请求 - 该请求不与前一个请求共享@fname
。
因此,如果您想要正确获取@fname的值,则应该在操作中create
呈现视图,或者在@fname
中设置show
。