我剛開始在我的Rails應用程序中使用局部模板,此刻我有下面的代碼在我application.html.erb動態數據
<%= render 'categories/categorieslist' %>
此鏈接_categorieslist.html .erb在我的意見/類別/文件夾
目前這部分包含硬編碼的超鏈接
<ul class="unstyled">
<li style="padding-bottom:5px"><a href="#">Item A»</a></li>
<li style="padding-bottom:5px"><a href="#">Item B»</a></li>
</ul>
我的目標是讓這些類別來自數據庫,如
<ul class="unstyled">
<% @categories.each do |category| %>
<li style="padding-bottom:5px"><a href="#"><%= category.name %> » </a></li>
<% end %>
</ul>
我試圖在類別控制器如
def categorieslist
@categories = Category.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @categories }
end
end
添加categorieslist方法,但這種不會被調用的部分(我不覺得這是連做正確的方法它),並呈現出就行了<%@ categories.each錯誤
NoMethodError in Store#index
做|類別| %>
我的問題是我如何傳遞到application.html.erb文件中的部分,這些類別對象通常來自類別控制器中的控制器方法?
任何幫助將是偉大的。
謝謝,我不太清楚的一件事是如何安排代碼,以便傳入此部分的@ categories集合通過調用@ categories = Category.all來填充,此activerecord查詢的位置應該放在哪裏代碼,如果部分是在佈局文件application.html.erb中? – norbert 2012-01-10 07:58:27
如果它在application.html.erb中,它應該放到你的ApplicationController中。在這裏,你可以使用before_filter和def'get_cats @categories = Category.all end'這樣的方法,或者你可以用'<%= render'categories/categorieslist'直接調用方法(它返回方法中的最後一個值) ,:all_categories => get_cats%>' – 2012-01-10 08:44:42
這太好了,我不確定是否有可能在ApplicationController中包含這樣的東西,並沒有找到任何明確的例子,謝謝! – norbert 2012-01-10 09:09:01