Rails link_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="/issue/index?param=value" script_onclick="alert(1)">Issues</a>

(0)

相关推荐

  • Windows下Ruby on Rails开发环境安装配置图文教程

    本文详细介绍如何在Windows配置Ruby on Rails 开发环境,希望对ROR初学者能有帮助. 一.下载并安装Ruby Windows下安装Ruby最好选择 RubyInstaller(一键安装包). 下载地址: http://rubyforge.org/frs/?group_id=167 . 我们这里下载目前较新的rubyinstaller-1.9.3-p0.exe 一键安装包.这个安装包除了包含ruby本身,还有许多有用的扩展(比如gems)和 帮助文档. 双击安装,安装过程出现如下

  • ruby on rails 代码技巧

    git仓库输出 git archive --format=tar --prefix=actasfavor/ HEAD | (cd /home/holin/work/ && tar xf -) 输出到/home/holin/work/actasfavor/目录下 Posted by holin At May 16, 2008 16:42 加载plugins中的controller和model # Include hook code here require 'act_as_favor' #

  • CentOS中配置Ruby on Rails环境

    详细安装步骤: 一.更新Python centos 中默认安装的python是2.4的版本,因为新版的rails需要提供nodejs的相关支持,需要更新python,更新文章可以直接移步到这个链接 http://www.tomtalk.net/wiki/Python 复制代码 代码如下: yum install -y bzip2*           #nodejs 0.8.5需要,请安装python前,先安装此模块.   wget http://www.python.org/ftp/pytho

  • win7安装ruby on rails开发环境

    前言 看到很多文章都说ruby环境在windows上是非常难搭建,会出现各种各样的怪问题,所以都推荐到linux和mac上安装开发.但是我按照教程搭了下,问题也不算太多.总过大概花费了2个半小时左右就完成了.所以大家不要被吓尿了,下面就把安装的步骤及具体的版本记录了一下供大家参考. 安装步骤: 开发机环境:我使用的开发机:win7 旗舰版 - 64位 (cpu是i5). 1 安装 rubyinstaller-2.0.0-p481.exe     1 选择安装目录:(如:D:\server\Rub

  • 在阿里云 (aliyun) 服务器上搭建Ruby On Rails环境

    1.阿里云的一键安装web全环境 下载一键安装web全环境 sh.zip 压缩包 上传至服务器,解压.执行脚本,具体步骤详见这里 $ mv sh.zip /home/tmp/ & cd /home/tmp $ unzip sh.zip $ chmod -R 777 sh & cd sh # 任意选择一种方法执行脚本 # 方法一 $ ./install.sh # 方法二 $ ./install_nginx_xxx.sh $ ./install_mysql_xxx.sh 2.安装RVM与指定的

  • 攻克CakePHP(PHP中的Ruby On Rails框架)图文介绍第1/2页

    CakePHP框架首页: http://www.cakephp.org/ 下载后导入工程中,目录结构如下图(使用版本:1.1.19.6305) 搭建PHP环境,这里使用了AppServ2.5.9. 下载主页 http://www.appservnetwork.com/ MySQL中新建数据库blog,并运行如下SQL文建表. /**//* First, create our posts table: */CREATE TABLE posts (    id INT UNSIGNED AUTO_I

  • rails "No route matches" 错误的解决方法

    有时候 rails 会出现: "No route matches"错误, 可以利用如下方法解决; 找到 config/routes.rb 文件, 打开编辑, 找到如下行: # See how all your routes lay out with "rake routes" 在这行下面添加一行, 内容如下: map.connect '',:controller=>"index",:action=>"index"

  • rails 连接mysql的问题解决

    找不到指定的模块. - c:/ruby/lib/ruby/gems/1.8/gems/mysql-2.7.3-x86-mswin32/ext/mysql.so 实际上是找不到连接所需的dll文件:libmySQL.dll 在mysql安装目录下的bin目录下将此文件复制到ruby的bin目录下即可解决此问题.

  • rails常用数据库查询操作、方法浅析

    1.获取数据 获取第一条.最后一条记录 复制代码 代码如下: Model.first Model.first(options) Model.find(:first, options) Model.last Model.last(options) Model.find(:last, options) 通过id获取记录 复制代码 代码如下: Model.find(1, 10, options) Model.find([1, 10], options) .find all 复制代码 代码如下: Mod

  • 学习Ruby你需要了解的相关知识(rvm, gem, bundle, rake, rails等)

    Ruby 这个就不用多说了 RVM 用于帮你安装Ruby环境,帮你管理多个Ruby环境,帮你管理你开发的每个Ruby应用使用机器上哪个Ruby环境.Ruby环境不仅仅是Ruby本身,还包括依赖的第三方Ruby插件.都由RVM管理. Rails 这个也不用多说,著名开发框架.详细看 http://zh.wikipedia.org/wiki/Ruby_on_Rails RubyGems RubyGems是一个方便而强大的Ruby程序包管理器( package manager),类似RedHat的RP

  • 以MVC的思维方式来理解Ruby on Rails框架的设计结构

    在rails中,发送一个请求(/users)的处理全过程如下: 1).浏览器发送请求(/users) 2).Rails的 routes会把请求路由给users_controller的index方法 3).users_controller回调用User Model获取所有的user 4).User Model会从数据库中把所有的user读取出来, 5).User Model把从数据库读取出来的所有user封装为List返回给user_controller 6).user_controlle把Use

  • Ruby rails 页面跳转(render和redirect_to)

    Ruby代码 复制代码 代码如下: if @user.update_attributes(:password => params[:user][:password]) flash[:notice] = '密码修改完成' redirect_to :action => 'index' else redirect_to :action => 'change_pass', :id => @user end 后来随手改了下第5行,把redirect_to改为render,居然就OK了.网上找

随机推荐