2012-02-27 48 views
0

我的Facebook應用使用AS3前端和APIish Rails後端。如何在routes.rb中將「/」路由到public/index.html?

的Facebook需要你的「畫布頁面」(您的應用頁面吸引到了Facebook鉻)或者是動態的(index.erb)或目錄(最終以「/」)。由於我不知道Rails的意見,我去了「myapp.herokuapps.com/」的網址。

Heroku的日誌給這個錯誤:

的ActionController :: RoutingError(無路由匹配 「/」)

我如何能匹配 「/」 索引文件?

匹配 「/」=> ????

我用的佈線資源,而不是靜態網頁。

回答

6

如果你想顯示一個靜態頁面作爲你的根,你應該使用高壓寶石。這允許您添加靜態頁面到您的網站如下:

  • 添加gem 'high_voltage'Gemfile
  • 把你靜態home.html.erb頁面/app/views/pages/
  • 路由到您的靜態頁面root to: => 'high_voltage/pages#show', :id => 'home'

沒有重定向是必要的。

高電壓的文檔可以在https://github.com/thoughtbot/high_voltage找到。

+0

Bam!那就是訣竅。 – 2012-02-27 22:14:11

+0

我會投票,但我還沒有代表。 – 2012-02-27 22:15:56

3

你需要在你的routes.rb文件中定義root_path

所以root :to => 'YOUR_CONTROLLER_NAME#YOUR_CONTROLLER_ACTION'應該這樣做。

如果你想把它映射到一個文件,然後只給公共目錄中的文件名,所以如果你想映射公共/ index.html的根,然後這會工作:

root :to => 'index' 
+0

所以「/」會自動匹配到根?那麼我怎樣才能將根映射到頁面而不是控制器呢? root:to =>「public/index.html」? – 2012-02-27 20:31:19

+0

查看我的更新回答。請接受和upvote,如果它適合你! – TheDelChop 2012-02-27 20:34:06

+0

路線仍有望期待的動作PARAM:/app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.0.9/lib/action_dispatch/routing/mapper。rb:171:在'default_controller_and_action'中:missing:action(ArgumentError) – 2012-02-27 20:50:58

相關問題