Rails link_to 详解
程序员文章站
2022-04-09 20:39:47
例子: 代码: <%= link_to "issues", {:controller => "issue", :action => "index"}, {...
例子:
代码:
<%= link_to "issues", {:controller => "issue", :action => "index"}, {:title => "issues"} %>
事实上,html元素的属性都可以通过这样的方式来设置。比如添加一个click事件处理:
代码:
<%= link_to "issues", {:controller => "issue", :action => "index"}, {:onclick => "alert(1)"} %>
但是值得注意的就是,link_to 的第二个参数,必须是以 map 的形式给出,才能达到这样的效果。link_to 是 rails 默认提供的工具方法,它还有一个过载的方法,如
代码:
<%= link_to "issues", "index", {:onclick => "alert(1)"} %>
上面的代码显示的连接将为 "/xxxxx/controller/index?onclick=alert(1)"
所以如果第二个参数以字符串的形式给出,此时其后的参数,就变为querystring了。
那么如何实现又增加 click 事件处理,又增加url参数呢,很简单, 如下:
代码:
<%= link_to "issues", {:controller => "issue", :action => "index", :param=value}, :onclick => "alert(1)" %>
结果为:
代码:
<a href="/issue/index?param=value" script_onclick="alert(1)">issues</a>
代码:
<%= link_to "issues", {:controller => "issue", :action => "index"}, {:title => "issues"} %>
事实上,html元素的属性都可以通过这样的方式来设置。比如添加一个click事件处理:
代码:
<%= link_to "issues", {:controller => "issue", :action => "index"}, {:onclick => "alert(1)"} %>
但是值得注意的就是,link_to 的第二个参数,必须是以 map 的形式给出,才能达到这样的效果。link_to 是 rails 默认提供的工具方法,它还有一个过载的方法,如
代码:
<%= link_to "issues", "index", {:onclick => "alert(1)"} %>
上面的代码显示的连接将为 "/xxxxx/controller/index?onclick=alert(1)"
所以如果第二个参数以字符串的形式给出,此时其后的参数,就变为querystring了。
那么如何实现又增加 click 事件处理,又增加url参数呢,很简单, 如下:
代码:
<%= link_to "issues", {:controller => "issue", :action => "index", :param=value}, :onclick => "alert(1)" %>
结果为:
代码:
<a href="/issue/index?param=value" script_onclick="alert(1)">issues</a>
上一篇: Ruby self在不同环境的含义
下一篇: oracle 中的exists