簡體   English   中英

在Ruby on Rails中添加新頁面

[英]Adding a new page in Ruby on Rails

對Ruby on Rails來說還是一個新手,我可能會遇到一個簡單的任務。 基本上我正在研究同事的應用程序,需要添加一個向用戶顯示應用程序工作方式的其他頁面。 我已經編寫了HTML和樣式。 我只是不知道如何將其完全添加到Rails並正確配置路由。 任何幫助,將不勝感激!

首先確保您的同事尚未創建控制器來處理靜態頁面。 app/controllers下查找名稱類似於directories_controllerpages_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM