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