前提:我对Rails很新。我正在尝试在应用程序布局中呈现部分,必须显示一些Event
个对象。部分将必须显示在应用程序的每个页面中(它基本上是侧边栏)。我知道我应该将局部变量传递给部分变量,如
<%= render partial: "shared/aside", locals: {events: @events} %>
但这只有在我在应用程序的每个控制器中定义@events
时才有效。有没有办法在全球范围内设置它?
值得注意的是,事件可能不是部分所需的唯一资源。
答案 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