Belirli alt alanlarına kısıtlanır aşağıdaki yolları olduğunu varsayalım:Raylar url yardımcı içinde kısıtlanmış yol için alt alan ekleyin
App::Application.routes.draw do
constraints :subdomain => "admin" do
scope :module => "backend", :as => "backend" do
resources :signups
root :to => "signups#index"
end
end
constraints :subdomain => "www" do
resources :main
root :to => "main#landing"
end
end
Benim sorunum root_url
ve backend_root_url
hem mevcut alt alanda bir url döndürdüğünü şudur: "http : // geçerli alt etki alanı .lvh.me/"bunun yerine kaynak için belirli bir alt etki alanı. ":/// www .lvh.me http" ve backend_root_url
"http: // yönetici .lvh.me /" dönmek için ben dönmek root_url
istiyorum (davranış tüm kaynakların altında için aynı olmalıdır alt alan). Belki manuel url yardımcıları geçersiz kılmak gerek
class ApplicationController < ActionController::Base
def url_options
{host: "lvh.me", only_path: false}.merge(super)
end
end
:
Ben çeşitli yerlerde url seçenekleri, uygulama denetleyicisi bir varlık url_options ayarlayarak raylar 3.2 Bunu gerçekleştirmek için çalıştık? Buna nasıl yaklaşırım (yollara erişim vb.)?
Düzenleme: döndürür: (alt alan => "admin") Ben root_url kullanarak doğru bir sonuç almak mümkün değilim "http: // yönetici .lvh.me /" bağımsız akım alt alan. Ancak, bunu kodun tamamı üzerinde belirtmemeyi tercih ederim.
Bu harika çalışıyor! Karşılaştığım bir sorun, bu yalnızca temel alan adınız zaten bir alt alan içermiyorsa çalışır. Eğer varsa, şunları eklemelisiniz: host. Veya şunları ayarlayabilirsiniz: hash içeren bir ana bilgisayar döndürmek için ApplicationController # default_url_options tanımlayarak ana bilgisayar. – mltsy
Ana makine adınız için zaten bir alt etki alanınız varsa, sorunu çözmüyor olsa bile geri alıyorum. Kendi yardımcı yöntemini yazmadan bunu yapmanın bir yolunu anlamadım. – mltsy