我刚开始一个项目并创建了一个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
是不是很糟糕?你平常都做什么?
答案 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;简单!