如何从另一个模型迭代到布局?

dca*_*xto 0 ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

我想从一个模型中获取集合以显示所有页面.

Application.html.erb

 <ul>
    <% @category.each do |c| %>
   <li><%= c.name %></li></ul>
        <% end %>
        </ul>
Run Code Online (Sandbox Code Playgroud)

调节器

 @categories = Category.all
Run Code Online (Sandbox Code Playgroud)

如何在应用程序控制器中使用它而不必复制和粘贴所有控制器?

Kle*_* S. 5

在您ApplicationController.rb创建before_filter并定义它以调用特定方法.

例如:

class ApplicationController < ActionController::Base
  before_filter :load_categories

  protected
  def load_categories
    @categories = Category.all
  end
end
Run Code Online (Sandbox Code Playgroud)

现在,您应该能够访问@categories所有视图.

在你看来:

<ul>
  <% @categories.each do |c| %>
  <li><%= c.name %></li></ul>
  <% end %>
</ul>
Run Code Online (Sandbox Code Playgroud)

希望它能帮到你.