我的部分rails应用程序将包含大量静态页面,所有页面都具有相同的布局(可能有数千个)。什么是处理这个问题的最佳结构 - 将它们存储在数据库中?有没有办法快速生成所有这些页面,而不是一次添加一个... www.root.com/city1/local_town1,www.root.com/city1/local_town2等
答案 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格式) - 您正在填充数据,然后可以以您想要的任何方式显示。