如何将当前用户数据添加到子域约束rails 4
How to add current user data to sub domain constraint rails 4
假设我的动作控制器中有以下代码:
def after_sign_in_path_for(resource)
if resource.has_not_created_website?
themes_path
else
root_url(:subdomain=>resource.website.domain)
end
end
登录后将我重定向到
http://webitdev.lvh.me:3000
但我想要这样的东西:
http://webitdev.lvh.me:3000/websites/7/edit
我尝试了很多代码和技巧,但都是徒劳的。我尝试添加字符串,但它对我不起作用。
root_url
将生成 URL 到您的应用程序的根路径,因此 http://example.com
.
如果你传递子域参数,它会被改变,但它会保留到根的路径。
subdomain
参数可以用于任何路由生成,因此如果你想将用户重定向到他的子域下的网站编辑页面,假设路由由edit_website_url(@website)
表示,只需传递子域参数
edit_website_url(resource.website, subdomain: resource.website.domain)
另一种常见做法是在控制器级别强制用户位于其子域下(前置过滤器可以检查用户是否通过子域访问请求)然后始终使用相对路径
edit_website_path(resource.website)
这样您就不必在每个路径生成中指定子域。
假设我的动作控制器中有以下代码:
def after_sign_in_path_for(resource)
if resource.has_not_created_website?
themes_path
else
root_url(:subdomain=>resource.website.domain)
end
end
登录后将我重定向到
http://webitdev.lvh.me:3000
但我想要这样的东西:
http://webitdev.lvh.me:3000/websites/7/edit
我尝试了很多代码和技巧,但都是徒劳的。我尝试添加字符串,但它对我不起作用。
root_url
将生成 URL 到您的应用程序的根路径,因此 http://example.com
.
如果你传递子域参数,它会被改变,但它会保留到根的路径。
subdomain
参数可以用于任何路由生成,因此如果你想将用户重定向到他的子域下的网站编辑页面,假设路由由edit_website_url(@website)
表示,只需传递子域参数
edit_website_url(resource.website, subdomain: resource.website.domain)
另一种常见做法是在控制器级别强制用户位于其子域下(前置过滤器可以检查用户是否通过子域访问请求)然后始终使用相对路径
edit_website_path(resource.website)
这样您就不必在每个路径生成中指定子域。