Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby On Rails > RoR меняет http на https при использовании url_for


Автор: undr 6.6.2009, 11:41
На локальной машине (Винда) все работает нормально, но при деплое на продакшен происходит замена http на https при использовании url_for.
Замена происходит только у маршрутов с префиксом admin.

routes.rb
Код

...
  map.with_options :conditions => { :subdomain => /.*/ } do |omap|
    ...
    %w{ account auth link_lists pages categories products orders templates}.each do |c|
      omap.send "shop_admin_#{c}", "admin/#{c}/:action/:id", :controller => "shop/admin/#{c}"
    end
...
  end
...


во вьюхе использую
Код

shop_admin_categories_url(:subdomain => @current_account.subdomain, :action => 'my_action')


К примеру если адрес страницы был http://subdomain.domain.ru/admin/categories/index, то shop_admin_categories_url сгенерит адрес  https://subdomain.domain.ru/admin/categories/my_action

Не подскажете как сделать так чтобы RoR не менял протокол?

Автор: source777 9.6.2009, 19:02
Цитата(undr @  6.6.2009,  11:41 Найти цитируемый пост)
Не подскажете как сделать так чтобы RoR не менял протокол? 

А где доказательства что это делает RoR? 

P.S. 
Цитата(undr @  6.6.2009,  11:41 Найти цитируемый пост)
  map.with_options :conditions => { :subdomain => /.*/ } do |omap|
    ...
    %w{ account auth link_lists pages categories products orders templates}.each do |c|
      omap.send "shop_admin_#{c}", "admin/#{c}/:action/:id", :controller => "shop/admin/#{c}"
    end
...
  end

Нафига такие извраты с роутами? Пользуйся нормальными способами:
Код

map.with_options(:namespace => "admin") do |admin| 
  admin.resources :account, :auth, :link_lists, :pages, :categories, :products, :orders, :templates
end 



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)