我知道application_controller将为整个应用程序生成变量值,但从未应用过这些知识。在我的大多数控制器中都有一个变量... @qs表示问题的数量。以下代码无效。
application_controller:
def qs
if current_user.sec_paid and current_user.min_paid
@qs = 36
elsif current_user.sec_paid
@qs = 25
else
@qs = 5
end
end
applets_controller:
@strengths = Strength.where("position <= ?", @qs).order("position")
applet1.html.erb:
<%=@qs.to_i%>
视图文件的输出只是测试变量值的一种方法,将被删除。目前它产生零。
感谢任何帮助。我非常感谢对代码的具体更改。
答案 0 :(得分:0)
在ApplicationControler中使用before_filter :qs
(或在需要的控制器中),在每次调用时调用qs
方法。这样,@qs
变量将被初始化。