Подтвердить что ты не робот

Добавление новой страницы в Ruby on Rails

Совершенно новый для Ruby on Rails, и я застрял, возможно, в легкой задаче. В основном я работаю над приложением для коллег и вам нужно добавить дополнительную страницу, показывающую пользователям, как работает приложение. Я уже написал HTML и стили. Я просто не знаю, как точно добавить его в Rails и правильно настроить маршруты. Любая помощь будет оценена!

4b9b3361

Ответ 1

Сначала убедитесь, что ваш коллега еще не создал контроллер для обработки статических страниц. Посмотрите под app/controllers для контроллеров, названных чем-то похожим на directories_controller или pages_controller и т.д. Если у него есть, следуйте шаблону, который уже настроил ваш коллега (вы можете попросить его/ее для руководства в этот момент), Если такой контроллер не существует, следуйте приведенным ниже советам.

Вы можете создать контроллер с именем вроде PagesController, который определяет методы, соответствующие маршруту. Например, ваша дополнительная страница может называться "help", и в этом случае вы можете определить такой контроллер:

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, и вы можете добавить свою статическую страницу туда (приложение/виды/страницы) с расширением .erb. Использование .erb позволит вашей новой странице использовать макет по умолчанию.

Наконец, вам нужно добавить этот контроллер в routes.rb в (config/routes.rb), чтобы указать рельсы, где искать страницу /help:

match '/help' => 'pages#help'

Ответ 2

Статические страницы

Если ваши страницы действительно статичны (в них нет ничего динамического), их можно оставить в каталоге /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, будет доступен без изменения ваших маршрутов или контроллера.