Rails 4 - 根据控制器创建方法

时间:2014-09-18 11:21:18

标签: ruby-on-rails methods controller

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

我为表格在页面上创建了表格。我还为这些页面创建了一个布局。

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

如果有人能指出方向很好的话,我真的无法找到解释我如何做到这一点的任何事情。

感谢。

3 个答案:

答案 0 :(得分:0)

您可以从params获取控制器和操作名称:

params[:controller], params[:action]

但是检查控制器名称可以更好地使用contnet_for

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

以及布局中的

<%= yield :bottom_bar %>

答案 1 :(得分:0)

您可以使用current_page?签入视图来查找该类型的操作或控制器。 以下是该功能的文档 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 %>

答案 2 :(得分:0)

以下是关于在布局中使用 content_for Railscast