[英]Adding a new page in Ruby on Rails
對Ruby on Rails來說還是一個新手,我可能會遇到一個簡單的任務。 基本上我正在研究同事的應用程序,需要添加一個向用戶顯示應用程序工作方式的其他頁面。 我已經編寫了HTML和樣式。 我只是不知道如何將其完全添加到Rails並正確配置路由。 任何幫助,將不勝感激!
首先確保您的同事尚未創建控制器來處理靜態頁面。 在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
標題pages
下創建一個新文件夾,並且可以在那里添加靜態頁面(app / views / pages),擴展名為.erb
。 使用.erb
將允許新頁面使用默認布局。
最后,你需要添加此控制器routes.rb
中(config/routes.rb)
,告訴軌到哪里查找/help
頁面:
match '/help' => 'pages#help'
如果您的頁面是真正靜態的(它們中沒有動態),您可以將它們放在/public
目錄中,它們將可以直接訪問。
可以在http://yourdomain.com/help.html
訪問../public/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。 http://yourdomain.com/help
上將提供名為help.html.erb
的視圖
您在app/views/static
下創建的任何視圖文件都可用,無需修改路由或控制器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.