目前我的一个布局视图中有代码。
<%- 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 :(得分:1)
看起来应该移动到控制器的代码。如果对每个页面执行此操作,则可以将其移至应用程序控制器,转换为前置过滤器(about filters)。请记住,如果您希望在视图中使用它们,控制器应该设置实例变量(开头为@
的变量)。
答案 1 :(得分:1)
我建议将逻辑放在控制器或模型中。您必须使用实例变量将值传递给布局:
# in your controlller @pending_items = Item.pending.count if @pending_items > 0 ... redirect_to ... else ... redirect_to ... end
可以在布局中访问@pending_items实例变量。