HTML / Ruby On Rails:自动执行重定向?

时间:2017-08-07 17:35:59

标签: html ruby-on-rails ruby

我有一个包含以下代码的页面:

<div>
  <% if @site.roster_management_enabled? %>
    <h3><%= link_to "Go To Page", { :controller => 'roster_player_import', :action => 'rostering_redirect'}, :target => "_blank" %></h3>
  <% end %>
</div>

上述控制器/动作如下:

  def rostering_redirect
    url = URI.join(@site.boss_organization.admin_app_root_url, 'rostering')
    redirect_to url.to_s
  end

我希望上面列出的html代码能够自动执行,而不是让用户点击链接。更具体地说,有没有办法从控制器/操作返回URL并将其传递给HTML代码,这样我就不必使用语法{:controller =>.....},而是使用{{1}之类的内容。 1}}

1 个答案:

答案 0 :(得分:0)

您可以将您重定向的网址直接放入模板中:

<div>
  <% if @site.roster_management_enabled? %>
    <h3><%= link_to 'Go To Page', URI.join(@site.boss_organization.admin_app_root_url, 'rostering').to_s, target: '_blank' %></h3>
  <% end %>
</div>

这适用于:

  • @site在模板中可用(从您的代码中可以看出它的加载位置不明确)
  • 您无需在服务器端运行其他检查/跟踪