Как направить "/" к public / index.html в rout.rb? - PullRequest
1 голос
/ 28 февраля 2012

Мое приложение Facebook использует интерфейс AS3 и интерфейс APIish Rails.

Facebook требует, чтобы ваша "страница холста" (страница вашего приложения засасывалась в Chrome Facebook) была либо динамической (index.erb), либо директорией (оканчивающейся на "/"). Так как я не знаю представления Rails, я использовал URL "myapp.herokuapps.com/".

В журналах Heroku выдается эта ошибка:

ActionController :: RoutingError (Нет подходящих маршрутов "/")

Как мне сопоставить "/" с индексным файлом?

match "/" => ????

Я привык к ресурсам маршрутизации, но не к статическим страницам.

Ответы [ 3 ]

6 голосов
/ 28 февраля 2012

Если вы хотите отобразить статическую страницу в качестве корня, вы должны использовать гем High Voltage. Это позволяет добавлять статические страницы на ваш сайт следующим образом:

  • Добавьте gem 'high_voltage' к вашему Gemfile
  • Поместите свою статическую home.html.erb страницу в /app/views/pages/
  • Направьте на свою статическую страницу с помощью root to: => 'high_voltage/pages#show', :id => 'home'

Перенаправления не нужны.

Документы по высоковольтному оборудованию можно найти по адресу https://github.com/thoughtbot/high_voltage.

2 голосов
/ 28 февраля 2012

Вам нужно определить root_path в вашем файле rout.rb

Так что root :to => 'YOUR_CONTROLLER_NAME#YOUR_CONTROLLER_ACTION' должен это сделать.

Если вы хотите отобразить его в файл, просто укажите имя файла в публичном каталоге, поэтому, если вы хотите отобразить public / index.html в корневой каталог, это сработает:

root :to => 'index'
0 голосов
/ 22 июня 2015

Оба ответа верны;однако люди в thinkbot рекомендуют следующее:

  1. В разделе "config / initializers /" создать файл "high_voltage.rb"
  2. Написать в следующем коде

    HighVoltage.configure do |config|
        config.home_page = "home"
    end
    
  3. Перезагрузите сервер

С документацией можно ознакомиться по https://github.com/thoughtbot/high_voltage#specifying-a-root-path

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...