1

我有一个页面资源的模型和控制器。我需要能够从 Application.html.erb 中访问页面和页面的名称以及 link_to

我尝试渲染导航部分。但是您不能从部分访问控制器。我需要能够呈现一个可以访问@pages 变量的导航栏,这样我就可以遍历它们。

最好的方法是什么?

4

1 回答 1

2

在您的 ApplicationController 内部,app/controllers/application_controller.rb

class ApplicationController < ActionController::Base
  protect_from_forgery

  before_filter :get_pages

  protected

  def get_pages
    @pages ||= Page.all
  end

end

这样您就可以@pages在任何视图中使用实例变量。

通过||=操作符使用 memoization,您只需在第一次需要时分配变量,因此无需担心每次都调用该方法。

于 2013-01-26T21:24:39.593 回答