我的Facebook应用程序使用AS3前端和APIish Rails后端。
Facebook要求你的“画布页面”(你的应用程序页面被吸入Facebook chrome)要么是动态的(index.erb),要么是目录(以“/”结尾)。由于我不知道Rails的观点,我选择了“myapp.herokuapps.com /".
的网址。Heroku日志会出现此错误:
ActionController :: RoutingError(没有路由匹配“/”)
如何将“/”与索引文件匹配?
匹配“/”=> ????
我习惯于路由资源,但不习惯静态页面。
答案 0 :(得分:6)
如果要将静态页面显示为根,则应使用High Voltage gem。这允许您按如下方式向站点添加静态页面:
gem 'high_voltage'
添加到您的Gemfile
home.html.erb
页放入/app/views/pages/
root to: => 'high_voltage/pages#show', :id => 'home'
不需要重定向。
答案 1 :(得分:2)
您需要在routes.rb文件中定义root_path
所以root :to => 'YOUR_CONTROLLER_NAME#YOUR_CONTROLLER_ACTION'
应该这样做。
如果您想将其映射到文件,那么只需在公共目录中提供该文件的名称,因此如果您想将public / index.html映射到root,那么这将起作用:
root :to => 'index'
答案 2 :(得分:0)
两个答案都是正确的;然而,thinkbot的人们推荐以下内容:
写入以下代码
HighVoltage.configure do |config|
config.home_page = "home"
end
重新启动服务器
您可以查看https://github.com/thoughtbot/high_voltage#specifying-a-root-path
上的文档