ruby-on-rails-3 - 在每个页面上从模型加载对象?

标签 ruby-on-rails-3

我希望在 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/

相关文章:

ruby-on-rails-3 - SocketError (getaddrinfo : Name or service not known) - Sunspot/Solr Rails development

ruby-on-rails-3 - 仅当不为空时才验证电子邮件格式 Rails 3

sql - 如何快速将条目与长字符串的开头匹配?

ruby - 附加到 rails 字段值

ruby-on-rails-3 - Rails 3 - 如何从 link_to 创建新记录

javascript - 在模态弹出窗口中调用时,使用 JS 的 Controller 方法不会返回/渲染数据

ruby-on-rails - 在 text 属性中插入 Rails 对象的交叉超链接的解决方案(作为 HTML)

ruby-on-rails - Formtastic 复选框提交带有空白条目的列表(除了选择的 ID)

ruby-on-rails - 为什么我的外键关联没有产生结果?

ruby-on-rails - 如何在 ActiveScaffold Rails 3 中实现搜索