我想将控制器中的变量值传递给视图,如下所示
controller(.rb)
redirect_to root_url, :some_var => 'true or false'
view(root_url.html.erb)
<% if :some_var %>
#do something
<% else %>
#do something else.
任何人都可以给我一个想法。提前谢谢。
答案 0 :(得分:2)
然后将该变量作为查询字符串
传递redirect_to root_url(foo: 'bar')
这将产生类似
的网址example.com?foo=bar
另一种方法是使用flash对象
redirect_to root_url, notice: "This is some info to convey"
Flash传递临时变量:
flash[:foo] = 'bar'
redirect_to root_url
# View
<% if flash[:foo] %>
<%= "This is #{flash[:foo]} value" %>
答案 1 :(得分:1)
执行此操作的最佳方法是渲染,而不是重定向,因为您还没有完成整个操作。然后在控制器操作中使用实例变量:
@some_var = true or false
render root_url
根:
if @some_var
do blah