Ruby on Rails相当新,我被困在一个简单的任务上。基本上我正在研究同事的应用程序,需要添加一个向用户显示应用程序工作方式的其他页面。我已经编写了HTML和样式。我只是不知道如何将其完全添加到Rails并正确配置路由。任何帮助将不胜感激!
答案 0 :(得分:40)
首先确保您的同事尚未创建控制器来处理静态页面。在app/controllers
下查找标题为directories_controller
或pages_controller
的控制器,等等。如果他/她有,请按照您的同事已设置的模式(您可能想问他/她)在那一点上的指导)。如果没有这样的静态页面控制器,请遵循以下建议。
您可以创建一个名为PagesController
的控制器,用于定义与路径匹配的方法。例如,您的附加页面可能被称为“帮助”,在这种情况下,您可以像这样定义控制器:
class PagesController < ActionController::Base
def help
# put any code here that you need
# (although for a static view you probably won't have any)
end
end
然后,您需要在标题为app/views
的{{1}}下创建一个新文件夹,然后您可以在其中添加pages
扩展名的静态页面(app / views / pages)。使用.erb
将允许您的新页面使用默认布局。
最后,您需要将此控制器添加到.erb
中的routes.rb
,以告诉我们在哪里查找(config/routes.rb)
页面:
/help
答案 1 :(得分:19)
如果您的网页真的是静态的(其中没有动态),您可以将它们放在/public
目录中,然后直接访问它们。
可以../public/help.html
http://yourdomain.com/help.html
中的文件
如果您想使用布局但只提供静态内容,可以按如下方式为控制器,路径和视图创建。
# static_controller.rb
class StaticController < ApplicationController
def show
render params[:page]
end
end
# towards the end of routes.rb
get "/:page" => "static#show"
并在app/views/static
中发表您的观点。你也可以使用普通的html或erb。名为help.html.erb
的视图将在http://yourdomain.com/help
您在app/views/static
下创建的任何视图文件都可以在不修改路由或控制器的情况下使用。