【问题标题】:current_page? method当前页面?方法
【发布时间】:2012-06-10 19:31:54
【问题描述】:

有没有办法在 current_page?() 方法中插入一个控制器的所有页面?

<%if (!current_page?(:controller=>'users'))%>
    ...
<%end>

如果我不插入 :action 属性不起作用!

如果我想为特定动作制作控件,我必须插入属性 :action。

我会考虑名为 users 的控制器的所有页面。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3


    【解决方案1】:

    不用current_page,可以直接查看控制器名称:

    <% if controller.controller_name != "users" %>
    ...
    <% end %>
    

    【讨论】:

    • controller_name 就足够了,推荐用于此目的。
    • @GiacomoDelfini:请接受其中一个答案——以最适合你的为准。
    【解决方案2】:

    params[:controller] != 'users'

    【讨论】:

    • 为此,建议使用 controller_name。见第 3.3 节:guides.rubyonrails.org/…
    • 不,不是。事情是相反的。 controller_name 在第一次调用时缓存它的结果(发生在页面渲染之前),所以它只是在下次调用时返回它的实例变量。调用 params[:controller] 需要一些时间来查找。
    猜你喜欢
    • 1970-01-01
    • 2017-04-09
    • 2014-02-19
    • 2013-08-11
    • 2017-02-01
    • 2018-05-01
    • 2012-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多