Ruby on rails 我可以从布局文件重定向到控制器吗?或
目前在我的一个布局视图中有这样的代码Ruby on rails 我可以从布局文件重定向到控制器吗?或,ruby-on-rails,Ruby On Rails,目前在我的一个布局视图中有这样的代码 <%- pending_items = items.pending.count if pending_reviews > 0 -%> <div id="notice"> <%= link_to("YOU HAVE #{pluralize(user_pending_items, 'PENDING ITEMS')}", user_item_path) %> </div> <
<%- pending_items = items.pending.count
if pending_reviews > 0 -%>
<div id="notice">
<%= link_to("YOU HAVE #{pluralize(user_pending_items, 'PENDING ITEMS')}", user_item_path) %>
</div>
<%- end -%>
0-%>
我需要用更多的条件来扩展代码,然后如果满足某个条件,就重定向到另一个操作。这里有几个问题:
谢谢。看起来像是应该移动到控制器的代码。如果对每个页面执行此操作,则可以将其移动到application controller中的before筛选器()。请记住,如果您希望在视图中使用实例变量,控制器应设置实例变量(开头带有
@
。我建议将逻辑放置在控制器或模型中。必须使用实例变量将值传递到布局:
# in your controlller
@pending_items = Item.pending.count
if @pending_items > 0
...
redirect_to ...
else
...
redirect_to ...
end
#在你的控制器里
@待定项目=Item.pending.count
如果@pending_items>0
...
重定向到。。。
其他的
...
重定向到。。。
结束
@pending\u items实例变量将可在布局中访问。我已将筛选器添加到我的应用程序\u控制器中。工作起来很有魅力。谢谢