如何在rails中处理1000个静态页面

时间:2014-09-15 23:56:34

标签: ruby-on-rails

我的部分rails应用程序将包含大量静态页面,所有页面都具有相同的布局(可能有数千个)。什么是处理这个问题的最佳结构 - 将它们存储在数据库中?有没有办法快速生成所有这些页面,而不是一次添加一个... www.root.com/city1/local_town1,www.root.com/city1/local_town2等

1 个答案:

答案 0 :(得分:0)

数据

首先,你更适合不打电话给他们"页面" - 如果你愿意,Rails有可能提供数百​​万条记录。

您需要切换范例,将其视为可以存储在数据库中的数据/内容。这是Rails的神奇之处 - 能够从数据库中提供数据,然后您可以根据应用程序的样式等进行创建。

为了更好地了解这一点,您应该阅读how to write a blog app in Rails

-

你想要设置这样的东西:

#config/routes.rb
resources :pages, path: "", only: [:show, :index]

#app/controllers/pages_controller.rb
class PagesController < ApplicationController
   def index
      @pages = Page.all
   end

   def show
      @page = Page.find params[:id]
   end
end

#app/models/page.rb
class Page < ActiveRecord::Base
    #fields id | title | body | created_at | updated_at
end

#app/views/pages/index.html.erb
<% @pages.each do |page| %>
   <%= link_to @page.title, page %>
<% end %>

#app/views/pages/show.html.erb
<%= @page.title %>
<%= @page.body %>

-

这样您就可以使用&#34;页面填充Page模型&#34;你有。注意这里的区别 - 你实际上没有写每个&#34;页面&#34;单独(以HTML格式) - 您正在填充数据,然后可以以您想要的任何方式显示。