2015-12-23 4 views
0

Есть ли способ сделать redirect_to более чем одним сайтом? В настоящее время я делаю redirect_to @sale.url, но могу ли я также redirect_to :back в новом окне?Rails: redirect_to более 1 страница

Каждое решение очень ценится (даже грязные;))

Спасибо!

+1

Вы хотите перенаправить к другим адресам в одном и том же состоянии? – Sravan

+0

Насколько я знаю, Rails не разрешает переназначать переназначение. – guyaloni

+0

Можете ли вы дать контекст? –

ответ

1

Вы можете перенаправить только по одному URL-адресу за один раз, но вы можете добавить javascript в индексный файл, чтобы открыть второе окно, которое вы хотите, и здесь мы передаем URL-адрес также с одного и того же контроллера, вы можете изменять URL-адреса на любой вы хотите, даже местные адреса:

# sales_controller.rb 
def create 
    ..... 
    @new_window_url = "http://google.com" 
    redirect_to sales_path 
end 

# sales/index.html.erb 
<javascript> 
    window.open("#{@new_window_url}"); 
</javascript> 
0

Нельзя перенаправить_то к различным адресам при одном и том же действии при одном и том же условии.

Вы можете перенаправить на основе различных условий. Если на основе кода вы получите множественную ошибку перенаправления.

address = redirect_address1 
if some_condition 
address = redirect_address2 
end 
redirect_to address 
2

Рельсы (который находится на сервере) не может перенаправить браузер более чем в одном месте: она делает ответ и этот ответ может быть только одна вещь, а не две разные вещи сразу.

Однако, javascript на странице может открыть местоположение на новой вкладке, а рельсы могут писать javascript, который будет выполняться при загрузке страницы, или перед отправкой формы, например. Таким образом, вы можете, отправив форму или щелкнув ссылку, откройте местоположение на новой вкладке, а затем позвольте рельсам перенаправить текущую вкладку. Это было бы странно, и это то, что обычно ассоциируется с ужасными рекламными всплывающими окнами, например, когда вы используете сайт с небольшим торрентом, и он открывает вкладки для азартных игр/китайских женщин, когда вы что-то делаете.

Итак, вы, вероятно, действительно не хотите этого делать. Если вы объясните контекст вокруг того, что вы пытаетесь сделать, тогда кто-то может предложить лучший способ решить проблему.

Смежные вопросы