Rails Action View::Helpers 方法

一为什么在Rails使用helper方法:

       前言:在生成controller文件时的rails app就会顺带生成相应的helper文件。

       1、Helper方法指的是可以在template中使用的辅助方法,把输出的资料转化为输出的html字符串;

       2、可以是简化template的文件复杂结构,即将template中比较复杂的结构用helper文件包装起来,简化template的界面和易于修改

已下都是helper辅助方法(其中的几个):

二、asserts(静态档案)辅助方法

         1、rails整合stylesheet和javascript档案,可以加速浏览器的加载

         2、可以让rails编译用sass 和coffeescript写的stylesheet和javascript

         3、如果内容修改会让rails在静态网叶上加上时间序号,保证用户下载到最新的版本

         4、通过它,rails可以帮助所有的asserts加上静态档案伺服器网址

         常用的几个方法:

  • javascript_include_tag
  • stylesheet_link_tag
  • image_tag
  • video_tag
  • audio_tag

 三、表单辅助方法
        form_tag 和 form_for 的区别:

   <%= form_for @event do |f| %>
        <%= f.text_field :name %>
        <%= f.submit %>
   <% end %>

        form_for 要传入model物件,修改的时候可以自动把预设值带入

   <%= form_tag "/search" do %>
       <%= text_field_tag :keyword %>
       <%= submit_tag %》
<% end %>

 表单栏辅助方法:

  • text_field
  • text_area
  • radio_button
  • check_box
  • select
  • select_date, select_datetime
  • submit
处理form_for的一个问题:
form_for必须要有model的属性:如果没有的话,要在相应的model里添加方法作为充当属性
四、如何使用helper和自定义helper:
自定义helper只需要在app/hleper里自定义就好,application_helper.rb是全局的
使用helper例子:
   module ApplicationHelper
      def gravatar_url(email)
        gravatar_email = Digest::MD5.hexdigest(email.downcase)
        return "http://www.gravatar.com/avatar/#{gravatar_email}?s=48"
      end
    end

 可以在Template中这样使用:

<%= image_tag gravatar_url(user.email) %>


原文地址:https://www.cnblogs.com/chenzhenzhen/p/4019813.html