【问题标题】:Rails 4 - create method depending on controllerRails 4 - 根据控制器创建方法
【发布时间】:2014-09-18 11:21:18
【问题描述】:

我有一个包含多个表的应用程序。例如用户和帖子。

我已经为在页面上呈现表格的表格创建了页面。我还为这些页面创建了布局。

在布局的底部,我有一个创建新按钮,用于向表格添加条目。我正在尝试根据控制器更改按钮。例如,按钮链接在用户页面上更改为“new_user_path”,在帖子页面上更改为“new_post_path”。

我真的找不到任何解释我如何做到这一点的东西,如果有人能指出我正确的方向,那就太好了。

谢谢。

【问题讨论】:

    标签: ruby-on-rails methods controller


    【解决方案1】:

    你可以从params获取控制器和动作名称:

    params[:controller], params[:action]
    

    但检查控制器名称可能会更好地使用contnet_for

    <% content_for :bottom_bar do %>
      ...
    <% end %>
    

    在你的布局中

    <%= yield :bottom_bar %>
    

    【讨论】:

      【解决方案2】:

      您可以在视图中使用current_page?check 来查找是哪种操作或控制器。 这是该功能的文档 http://apidock.com/rails/ActionView/Helpers/UrlHelper/current_page%3F

      示例可能是这样的:

      <% if current_page?(controller: 'shop', action: 'checkout') then puts shop_checkout_path else shop_index_path end %>
      

      【讨论】:

        【解决方案3】:

        这是一个Railscast,关于在您的布局中使用 content_for

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-04-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-04-12
          相关资源
          最近更新 更多