rails 链接到其他页面和资源
引用外部资源到当前模板中,最常用的方法就是link_to了,该方法创建了指向应用程序其他行为的超链接。
基础:
<%= link_to 'add comment', new_comments_path %>
解释:第一个参数是显示针对该链接的内容,第二个是指向链接目标的字符串或散列。第三个参数是所生产的html属性
<%= link_to 'delete', product_path(@product), {:class => 'dangerous', :method => 'delete' %>
button_to的工作原理与link_to一样,不同的是: 生成了放在自己表单的按钮,而不是简单的超链接。这具有边际效应的行动链接的首选方法,不过这些按钮都有自己的表单,这便产生了一系列限制: 她们不能出现内联,也不能出现在其他form中。
条件链接: link_to_if和link_to_unless多一个条件参数,如果条件为true便能生成链接,否则显示普通链接名称(无超链接)
link_to_unless_current,将当前页面名称仅显示为链接名称,而其他为超链接及其名称,这是一个很有效且很常用的帮助方法。
组合image_tag
<% link_to(image_tag('delete.png' ,:size =>'50x22‘), product_path(@path), { :confirm => 'are you sure?', :method => :delete })
mail_to用来创建mailto,单击后加载客户端的邮件应用程序。使用:encode => 'javascript',来隐藏生成的链接,这样爬虫spider就不会探测到网站上的邮件地址。
<%= mail_to('support@example.com", "contact", :subject => 'Support question from #{user.name} ' :encode => 'javascript') %>
也可以用:replace_at选项来代替所要显示邮件名称 的"@"和"."符号,但是这样不能骗过爬虫。