4

我的应用程序目前只允许用户在他们的子域上登录,即 subdomain.domain.com/users/sign_in。我希望用户改为登录 domain.com/users/sign_in。

我是 Rails 新手,我从 Github 上的这个项目中获得了很多关于子域的帮助:https ://github.com/appcasts/saas-timetracker

在 routes.rb 中,我添加了“devise_for :users”以在 domain.com/users/sign_in 上显示登录表单,但是由于收到“无效的电子邮件和密码”错误,我无法对子域的用户进行身份验证。

有没有一种方法可以让用户从 domain.com 登录并通过身份验证并重定向到正确的子域?

我尝试过:如何:将登录范围限定到子域

我得到一个列“子域”不存在错误。我还尝试了 Custom_Failure_app 解决方案,它在我添加的所有 redirect_to 路径上一直给我一个错误。

任何帮助或建议将不胜感激。

4

1 回答 1

4

在我们的应用程序中,我们创建一个用户:

def create 
  @user = User.new(user_params)
  @account = Account.new(subdomain: params[:subdomain], owner: @user)
  if @user.valid? && @account.valid?
    Apartment::Tenant.create(@account.subdomain)
    Apartment::Tenant.switch(@account.subdomain)
    @user.save
    @account.save
    redirect_to new_user_session_url(subdomain: @account.subdomain)
  end 
end

在帐户控制器的 create 方法中。

你可以在这里查看 https://github.com/DefactoSoftware/Hours/blob/development/app/controllers/accounts_controller.rb

于 2015-02-20T10:06:42.787 回答