主页,关于和联系页面的控制器操作

时间:2014-04-13 05:31:12

标签: ruby-on-rails ruby-on-rails-4 controllers

我刚开始一个项目并创建了一个pages_controller,在控制器中我有这个:

class PagesController < ApplicationController

def home

end

end

这些是我的路线:

  devise_for :users
  root to: "pages#home"

我创建了页面控制器,以为我可以使用它来创建一个主页,关于页面&amp;联系页面。根据我有限的经验,您的控制器中的行为似乎应该坚持new,create,destroy,delete,show,index,edit and update 如上所述,命名行动Home, contact or about是不是很糟糕?你平常都做什么?

2 个答案:

答案 0 :(得分:1)

在Rails应用程序中没有100%RESTful路由没有任何问题。特别是对于您的确切用例,即收集一些&#34;静态&#34;页面。你绝对是在正确的轨道上。我唯一想考虑改变的是将联系页面分解为自己的控制器(也许是ContactPageSubmissions),如果它上面有表格 - 如果它只是联系信息,我会把它留在原处也是。

答案 1 :(得分:0)

我喜欢为静态页面做的事情就是使用单个动作,并使用它来显示不同的视图。这对于动态视图来说不是很好:

#config/routes.rb
root to: "application#static", page: "home"

pages = %w(about contact)
for page in pages do
    get page, to: "application#static", page: page #-> routes all to `static` method in `ApplicationController`, with "page" param
end

#app/controllers/application_controller.rb
def static
    case params[:home]
    when "about"
       page = "about"
    when "contact"
       page = "contact"
    else
       page = "home"
    end
    render "pages/#{page}"
end

然后你在views/pages&amp;中创建一个文件夹。在那里制作所需的页面!干&amp;简单!