我的应用目前只允许用户在其子域名上签名,即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上显示sign_in表单,但是当我收到“无效的电子邮件和密码”时,我无法向该子域验证用户身份“错误。
用户是否可以从domain.com登录并进行身份验证并重定向到正确的子域?
我尝试过:How to: Scope login to subdomain
我得到一个列“subdomain”不存在错误。 我还尝试了Custom_Failure_app解决方案,它在我添加的所有redirect_to路径上都给出了错误。
任何帮助或建议都将受到赞赏。
答案 0 :(得分: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