Rails中部分共享资源

时间:2017-04-26 15:47:08

标签: ruby-on-rails

前提:我对Rails很新。我正在尝试在应用程序布局中呈现部分,必须显示一些Event个对象。部分将必须显示在应用程序的每个页面中(它基本上是侧边栏)。我知道我应该将局部变量传递给部分变量,如

    <%= render partial: "shared/aside", locals: {events: @events} %>

但这只有在我在应用程序的每个控制器中定义@events时才有效。有没有办法在全球范围内设置它? 值得注意的是,事件可能不是部分所需的唯一资源。

1 个答案:

答案 0 :(得分:0)

您可以在应用程序控制器中执行之前的操作。 before操作将位于文件的顶部,底部的私有方法

class ApplicationController < ActiveController::Base
# Place at top of file
before_action :set_events

...your other code...

# Place at bottom of file
private

def set_events
 @events = Event.all
end