我是新手在生产模式下配置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
答案 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?
看起来比你的代码好一些。