我是Rails的新手。 在我的appliction.html.erb中,我使用了渲染部分:使用html_css共享文件。 此共享文件包含可供不同页面使用的按钮。 例如,对于页面/帖子和/答案,显示具有从共享字段中取出的提交按钮的搜索字段。 我想让这个按钮适用于这两个页面。当我们在/ posts页面中,我们搜索帖子,当我们在/ answers页面时,我们搜索答案。
所以,我每次都需要调用正确的控制器。为此,我需要一个助手或技巧,让我知道我在哪个页面(我打电话给哪个控制器#index?)。
rails是否包含启用此功能的方法或帮助程序?
谢谢:)
答案 0 :(得分:0)
使用辅助函数:controller_name
和action_name
。
如果您有控制器:
class UsersController < ApplicationController
def my_action
# stuff
end
end
在视图中,您可以执行以下操作:
Controller name: <%= controller_name %> <br/> # => users
Action name: <%= action_name %> <br/> # => my_action
请参阅:http://guides.rubyonrails.org/action_controller_overview.html#routing-parameters
答案 1 :(得分:0)
动作和控制器已经在参数中。我想你宁愿用这些信息来做事情,而不是只用controller_name / action_name
来显示它例如,仅在about页面中显示一个页脚,假设控制器被称为about_controller,你可以
<% if params[:controller] == about %>
<%= render partial: 'footer' %>
<% end %>
params[:action]
将包含该操作。