在AWS弹性beanstalk上部署Rails - 静态资产路由无法正常工作

时间:2014-07-09 01:53:49

标签: ruby-on-rails ruby amazon-web-services elastic-beanstalk

我通过亚马逊的eb工具将我的rails应用程序放在AWS弹性beanstalk上。 在弹性beanstalk上,我正在使用它的默认负载均衡器,并且正在使用ruby 2.0运行ubuntu 64bit。

我遇到两个主要问题:

1)根路由不起作用。

  • 在我的config / routes.rb中,我尝试过:

      

    root'controller#action
      root:to => “控制器#行动”
      root to:'controller#action'

    发现他们都没有工作。服务器给我一个错误说:

      

    无效的路线名称,已在使用中:'root'(ArgumentError)

  • 我猜想Rail的默认root => public / index.html与我自己在config / routes.rb中的路由之间存在某种冲突?所以我创建了public / index.html,根url'/'现在提供public / index.html。我想弄清楚一种方法,使它以“Rails”的方式工作,根网址路由到控制器#action。

2)没有提供静态资产。

有谁知道这些问题的解决方案?

提前谢谢你!

=========================编辑===================== ==

我正在使用带有乘客独立的Amazon 64位Linux

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

<强>配置/ routes.rb中

Rails.application.routes.draw do
  root 'home#index'
end

删除或注释掉&#39; /&#39;的所有定义(包括获取&#39; /&#39;,匹配&#39; /&#39;等)

应用/控制器/ home_controller.rb

class HomeController < ApplicationController

  def index
    render 'index'
  end

end

应用/视图/家/ index.html.erb

<h1>HELLO WORLD.</h1>

并确保删除 public / index.html