新用户注册该网站后,他们应该被重定向到交易索引。这在开发环境中可以正常工作,但在生产环境中不起作用(在 Heroku 上)。在生产中,它重定向到用户索引(不存在)。
这是我的用户控制器:
class UsersController < ApplicationController
def new
@user = User.new
end
def create
@user = User.new(params[:user])
if valid_email? @user.email
@user.save
redirect_to deals_path
else
flash[:error] = "Please enter a valid email address"
redirect_to root_path
end
end
private
def valid_email?(email)
valid_email_regex = /\A.+@.+\..+\z/i
email =~ valid_email_regex
end
end
这是routes.rb:
root to: 'users#new'
resources :deals, only: [:index]
resources :users, only: [:new, :create]
这是 rake 路由和 RAILS_ENV=production rake 路由的结果(两者相同):
root / users#new
deals GET /deals(.:format) deals#index
users POST /users(.:format) users#create
new_user GET /users/new(.:format) users#new
在开发中一切正常,但在生产中它表现得好像用户控制器中的“redirect_to deal_path”行不存在。
该应用程序在开发中使用 SQLite,在生产中使用 PostgreSQL,这可能与它有关吗?
该应用程序位于 rails 3 并托管在 Heroku 上。