zoukankan      html  css  js  c++  java
  • 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) %>


  • 相关阅读:
    webpack学习总结
    jquery弹出下拉列表插件(实现kindeditor的@功能)
    html meta标签使用总结
    Techparty-广州Javascript技术专场(学习分享)
    一个三年工作经验的软件工程师的经验之谈
    cf--------(div1)1A. Theatre Square
    离线网页制作器(beta1.0)
    uva---(11549)CALCULATOR CONUNDRUM
    CF---(452)A. Eevee
    Uva----------(11078)Open Credit System
  • 原文地址:https://www.cnblogs.com/chenzhenzhen/p/4019813.html
Copyright © 2011-2022 走看看