在整个rails上实现页面控制器

时间:2009-10-04 22:13:23

标签: ruby-on-rails ruby content-management-system

我似乎对自己有点了解。 我创建了一个页面模型和页面控制器。整个想法是能够调用类似'print:controller =&gt;'Pages',:action =&gt;'view',:id =&gt;'6',:layout =&gt;'none''< / p>

在我的application.html.erb中,我有一个带有yield的div,在下一个div中我想有上面的页面。

但我无法理解这一点。谁知道我想要做什么? 就像我可以解释的那样,我试图将静态文本存储在数据库中,并且能够在需要时调用它。所以我可以在文本字段中存储整个页面,例如'hello'和'about me',有点内置的cms

特劳斯蒂

1 个答案:

答案 0 :(得分:2)

我认为你没有理解Rails模型的灵活性。它们只是对象类。您可以在任何使用Ruby对象的地方使用它们。所有:controller => 'blah', :action => 'yadda'内容都是为外部世界生成或解析URL。 Inside 您的应用,只需致电您的模特。

在这种情况下,如果您只想轻松地从具有已知名称的页面中提取内容,我的建议是在您的Page类中编写一个类方法,为您进行查找。例如(根据您自己的字段名称和需求调整):

class Page < ActiveRecord::Base
  # ...Other stuff...

  def self.content(name)
    page = find_by_name(name)
    page.content if page
  end
end

然后,您可以在需要的任何地方拨打Page.content('about'),然后返回“关于”页面的内容,为您提供热情和新鲜的内容。