我希望在 Rails 应用程序的每个页面上从数据库中的单个表中加载单个(随机选择)对象。
例如,一个报价表,其中有多个报价,我只想在每个页面加载一个。
实现这一目标的最佳方法是什么?显然,将查询复制并粘贴到每个 Controller 中并不是解决此问题的正确方法。
最佳答案
我不会为此使用 before_filter
,不需要在重定向操作和其他“未渲染”操作上访问数据库。相反,我会使用 helper_function
,并且我会在布局中调用它,因为无论如何您都需要定位它。
def random_quote
@quote ||= "Select random quote here"
end
helper_method :random_quote
选择报价的方法由您决定。您只需将 random_quote
作为布局中的普通辅助方法进行访问即可。仅当呈现布局时,每个操作才访问一个引用。
关于ruby-on-rails-3 - 在每个页面上从模型加载对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11821440/