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



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

<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 =>.....}而是使用类似URL=....

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

<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可用(从您的代码中不清楚它的加载位置(
  • 您无需在服务器端运行额外的检查/跟踪

最新更新