Rails link_to 详解(rails session)新鲜出炉

随心笔谈9个月前发布 admin
216 00
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

文章摘要

这篇文章主要介绍了在Ruby on Rails框架中使用`link_to`方法来设置HTML元素属性的高级用法。文章详细说明了如何通过`link_to`同时设置属性映射和事件处理,例如点击事件(`onclick`)。通过在`link_to`的参数中使用映射(`:param=value`)和事件处理(`onclick="alert(1)"`),可以实现如`<a href="https://www.jb51.net/issue/index?param=value" script_onclick="alert(1)"的HTML效果。文章还强调了`link_to`第二个参数必须以映射形式给出的重要性,否则会导致事件处理与URL参数分离。此外,文章还提到了其他相关主题,如`render`和`redirect_to`等。


例子:

代码:

<%=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=”https://www.jb51.net/issue/index?param=value” script_onclick=”alert(1)”>Issues</a>

您可能感兴趣的文章:Ruby rails 页面跳转(render和redirect_to)rails常用数据库查询操作、方法浅析学习Ruby你需要了解的相关知识(rvm, gem, bundle, rake, rails等)Windows下Ruby on Rails开发环境安装配置图文教程rails “No route matches” 错误的解决方法ruby on rails 代码技巧攻克CakePHP(PHP中的Ruby On Rails框架)图文介绍rails 连接mysql的问题解决在阿里云 (aliyun) 服务器上搭建Ruby On Rails环境CentOS中配置Ruby on Rails环境win7安装ruby on rails开发环境以MVC的思维方式来理解Ruby on Rails框架的设计结构

© 版权声明

相关文章