在生产模式下运行Rails应用程序时出错

时间:2013-11-26 16:37:56

标签: ruby-on-rails production-environment

我是新手在生产模式下配置Rails应用程序。我的Rails应用程序工作正常,但是当我尝试在生产模式下运行它时,它在启动时崩溃:

 rails s
=> Booting WEBrick
=> Rails 4.0.1 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server

这里一切都很好,并且:

RAILS_ENV=production rails c
/Users/dawid/.rvm/gems/ruby-2.0.0-p195@rails-4.0/gems/activesupport-4.0.1/lib/active_support/dependencies.rb:229:in `require': /Users/dawid/workspace/demioorg/Dineria/backend/app/controllers/users/users_controller.rb:6: syntax error, unexpected ':', expecting keyword_end (SyntaxError)
      render_status: 200,

我只是想知道为什么它在开发模式下工作而不在生产模式下?什么可能导致错误?

修改

class Users::UsersController < Devise::SessionsController
  respond_to :json

  def is_user
    if current_user.present?
      render_status: 200,
        json: {
          success: !User.find_by_name(params[:name]).blank?
        }
    end
  end

end

2 个答案:

答案 0 :(得分:1)

Rails documentation显示如何使用:status的{​​{1}}选项:

2.2.11.4:状态选项

Rails将自动生成具有正确HTTP状态代码的响应(在大多数情况下,这是200 OK)。您可以使用:status选项更改此设置:

render

答案 1 :(得分:1)

请尝试使用此格式:

render :status => 200, 
       :json   => {success: User.exists?(:name => params[:name])}

我认为它看起来更漂亮,更合乎逻辑。

同样.exists?看起来比你的代码好一些。