使用Rails 4查看子域链接

ale*_*our 2 subdomain ruby-on-rails hyperlink

我目前正在使用Rails 4.2应用程序中的子域名.

我可以在我的控制器中创建像这样的子域名的URL:

redirect_to subdomain: 'cloud', controller: '/home', action: 'login'
Run Code Online (Sandbox Code Playgroud)

但是,我无法在视图中创建包含子域的链接:

<%= link_to t(:LOG_OUT), { :subdomain => 'services', :controller => 'users', :action => 'logout' } %>
Run Code Online (Sandbox Code Playgroud)

=>子域不会因想要的(服务)而改变.我也尝试url_for(),同样的事情.怎么了 ?

Ric*_*eck 5

我们在一些应用程序中使用子域,并且发现您必须使用_url帮助程序(而不是_path帮助程序):

在此输入图像描述

#config/routes
constraints subdomain: "admin" do
  namespace :admin, path: "" do
    ...
  end
end
Run Code Online (Sandbox Code Playgroud)

我们使用以下方法调用它:

在此输入图像描述

def after_sign_in_path_for(resource)
  if resource.admin? && resource.admin_redirect?
    admin_root_url
Run Code Online (Sandbox Code Playgroud)

-

所以你将能够做到以下几点:

<%= link_to "Logout", services_users_logout_url %>
Run Code Online (Sandbox Code Playgroud)

这将使用链接的完整URL(这可能有问题),但应该可以正常工作.路径不起作用,因为它是相对的.您必须使用该URL,因为它设置了子域.