0
我有一个Rails 3应用程序,并且正在编写“管理”部分,我希望将其包含在许多不同模型的视图中。部分将包含足够的资源链接(例如新建,索引,显示),但如果资源的路由(如索引)在routes.rb中被禁用,我的设计将失败。确定Rails资源控制器是否已启用动作
样品视图(视图/ my_resources/show.html.erb):
<% provide(:title, 'My Resource') %>
<div style="float:right;">
<%= render '/shared/resource_menu' %>
</div>
<h1>My Resource</h1>
<%= @my_resource.name %>
从/shared/_resource_menu.html.erb摘录:
<div class="submenu">
<b><%= File.basename(params[:controller]).pluralize.titleize %></b><br />
<% if params[:action] != 'index' %>
<%= link_to 'Index', url_for(:controller => params[:controller], :action => 'index', :only_path => true) %><br />
<% end %>
<% if params[:action] != 'new' %>
<%= link_to 'New', url_for(:controller => params[:controller], :action => 'new', :only_path => true) %><br />
<% end %>
</div>
目前,我已经被黑它使每个有条件的样子:
<% if params[:action] != 'index' && [email protected]_index_in_resource_menu %>
,我用手设置@omit_index_in_resource_menu
在相关的控制器,但比我想要的更笨重。
我可以代替做一些更优雅,如:
<% if params[:action] != 'index' && controller.actions.include?('index') %>
完美。正是我需要的。我需要更好地搜索API ... – LikeMaBell
您也可以在控制台中使用自动完成来有时查找您的API,或者调用对象上的“方法”。当你在寻找某些东西时,这是一个很好的起点。干杯:) – Benj