Tag: 子域

Rails路由,URL和子域

我的ruby应用程序分为不同的命名空间。 喜欢:free(free.domain.com),pro(pro.domain.com),vip(vip.domain.com)在routes文件中如下所示: namespace :free do match ‘home’ => ‘free#home’, :via => [:get, :post], :as => :home #more routes end namespace :pro do match ‘home’ => ‘pro#home’, :via => [:get, :post], :as => :home #more routes end namespace :vip do match ‘home’ => ‘vip#home’, :via => [:get, :post], :as => :home #more routes end match ‘/about’ […]

Rails 3.1基于子域从不同路径加载控制器

是否可以动态更改使用控制器的路径? Ryan Bates在这里展示了如何更改view_paths: http ://railscasts.com/episodes/269-template-inheritance 我正在创建一个CMS,用户可以在其中创建一个站点并输入自己的子域。 如果没有子域名,我希望“/”指向“public#welcome”,但如果有子域名,我希望它指向“sites / public#welcome”。 我正在使用Rails 3.1,如果这有任何区别。

Rails 4动态子域

嗨,我正在http://railscasts.com/episodes/221-subdomains-in-rails-3上按照教程进行操作,并尝试使其适用于rails 4.我遇到的问题是在我的控制器和find_by_subdomain中! 标签,我已经读过大多数find_by方法从rails 4中取出,并且想知道它的工作原理是什么。 我的控制器目前看起来像 def set_city @city = City.friendly.find_by_subdomain!(request.subdomain) end 而我得到的错误是 undefined method `find_by_subdomain!’ 如果它有助于我的路线目前看起来像 get ‘/’ => ‘cities#show’, :constraints => { :subdomain => /.+/ } 非常感谢任何帮助,如果需要,我很乐意澄清。

子域名和本地安装的Rails应用程序

我无法弄清楚我在忽视什么,也许是明显的或缺乏理解。 我正在使用的应用程序使用托管服务器上正常工作的子域。 我认为本地安装会引发一些关于路由的问题,所以我读到了对/ etc / hosts进行更改并使用Ghost gem。 两者似乎工作正常,即localhost:3000 /变成myapp.local:3000,但我不明白如何登录到子域帐户。 这是一个例子…… myapp.local:3000 / session / new =应用程序的默认登录页面 myapp.local:3000 / signup =默认注册页面 我可以在这里创建一个帐户,例如Sub1 感谢页面显示了对sub1.myapp.com的引用,该引用指向托管应用程序(本地数据库也显示此域) sub1.myapp.local手动添加到/ etc / hosts和dscacheutil -flushcache sub1.myapp.local:3000 / session / new是子域名 登录尝试返回此不是有效域。 这似乎是有道理的,因为本地数据库在托管服务器上将url显示为sub1.myapp.com。 所以我的问题是,我是否可以使用本地解决方案进行开发,或者我是否完全错过了一个基本概念?

rails 3.2子域和设计

我有一个应用程序,用户可以登录到他们的公司子域。 我用设计。 此代码将用户从根域重定向到子域。 def after_sign_in_path_for(resource_or_scope) scope = Devise::Mapping.find_scope!(resource_or_scope) subdomain_name = current_user.firm.subdomain if current_subdomain.nil? # logout of root domain and login by token to subdomain token = Devise.friendly_token current_user.loginable_token = token current_user.save sign_out(current_user) flash[:notice] = nil home_path = valid_user_url(token, :subdomain => subdomain_name) return home_path else if subdomain_name != current_subdomain.name # user not part of current_subdomain sign_out(current_user) […]

Rails:将子域路由到资源

是否可以将子域映射到资源? 我有一个公司模特。 目前,使用subdomain_fu,我的路由文件包含: map.company_root ”, :controller => ‘companies’, :action => ‘show’, :conditions => { :subdomain => /.+/ } 我的公司模型包含“子域”列。 虽然这是按预期工作的,但它是一条命名路线,并不安宁。 基本上,我需要将“name.domain.com”映射到公司控制器的show动作。 命名路由是可行的,还是可以使用资源路由?

在本地主机上设置通配符域(OS X 10.5)?

我开始开发一个基本上充当WordPress MU的网站,用户可以注册并拥有自己的博客。 我将在Rails中对此进行编码,但我希望能够使用通配符子域,因此我可以使用blog.example.com等格式。 我做了一些搜索,但我找不到任何好的资源。 由于我使用Rails,我不知道在哪里放这个,因为我使用的是Mongrel,而不是Apache。 我可以通过在我的服务器上远程开发来绕过在本地计算机上执行此操作,但是我只想将此作为最后的手段。 如果需要,我可以提供有关我的开发环境的更多详细信息,但以下是基础知识: Mac OS X Leopard 10.5.6 Ruby 1.8.7 Rails 2.3.2

在没有自定义域的情况下,子域会话在Heroku上的Rails 2.3和Rails 3中不起作用?

所以我有两个heroku应用程序: http://production-app.com (从http://production-app.heroku.com映射) http://development-app.heroku.com 在production-app.com ,我有几个子域使用Herer自定义域插件与Zerigo(不是通配符域插件): http://blog.production-app.com http://api.production-app.com 在development-app.heroku.com ,我也有这些自定义子域,但由于我没有自定义域,我只使用通配符插件 。 在我的routes.rb ,使用Subdomain-Fu ,我在本地和两个Heroku应用程序上都有子域名。 我现在面临的问题是, 如何在所有子域之间保持会话同步 ? 我已经尝试将其添加到production.rb : ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS.update(:session_domain => ‘.production-app.com’) 甚至组合这个: begin config.action_controller.session[:domain] = ‘.production-app.com’ config.action_controller.session[:session_domain] = ‘.production-app.com’ rescue config.action_controller.session = {:domain => ‘.production-app.com’, :session_domain => “.production-app.com”} end …对于开发站点,这两个: ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS.update(:session_domain => ‘.heroku.com’) # or ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS.update(:session_domain => ‘.development-app.heroku.com’) 这些都不会保持子域之间的会话。 如果我有自定义域名并且刚刚运行Heroku子域名,我该如何才能正常工作? 谢谢!

Rails 4应用程序中的子域名

今天我遇到了一个相当奇怪的现象。 在开发一个Rails应用程序时,每个用户都有自己的子域,并尝试使用Devise来完成它,我遇到了也没有注册任何路由到根页面的子域。 因此,例如,即使没有(显式)子域,它也会将我路由到主应用程序页面。 也许这与我的特定设置有关? 我也尝试了一个新的Rails项目,但我得到了相同的结果。 有人能为我澄清一下吗? Railscasts没有做到这一点。 此外,现在我正在使用WEBrick,即使这不是我将在生产中使用的,我正在使用域lvh.me来访问子域。 谢谢您的帮助。 编辑:这是我的routes.rb文件: Rails.application.routes.draw do devise_for :users root ‘static_page#index’ end 我遵循Devise wiki的这个指南: https : //github.com/plataformatec/devise/wiki/How-to :-Scope-login-to-subdomain 所以我做的是通过迁移删除了电子邮件的唯一性,然后我添加了:子域到request_keys,如下所示: devise :database_authenticatable, :recoverable, :rememberable, :trackable, :timeoutable, request_keys: [:subdomain] 然后我继续覆盖“find_for_authentication”函数,如下所示: def self.find_for_authentication(conditions={}) conditions[:account_id] = Account.find_by_subdomain(conditions.delete(:subdomain)).id super(conditions) end 这就是总结它。 编辑:我一直在搞乱,我发现了问题。 ‘root’指令将所有子域引用到我的域。 因此,如果我从routes.rb中删除root,则每个子域都会导致RouteError。 我记得在我的应用程序中为Devise需要一个root。 所以我不确定这是Devise的行为还是root。

不使用htaccess,将’myapp.com’重定向到rails中的’www.myapp.com’?

使用Morph Labs的Appspace部署站点意味着没有自动方式将“myapp.com”重定向到“www.myapp.com”(并且无法访问.htacess)。 有这样的轨道方式吗? 我需要一个像subdomain-fu这样的插件吗? 更具体地说,我正在尝试做类似的事情: ‘myapp.com’=>’www.myapp.com’ ‘myapp.com/session/new’=>’www.myapp.com/session/new’ 基本上,我总是希望每个请求都附加“www”子域名(因为SSL证书的具体名称是“www.myapp.com”)。