美文网首页ruby on rails
常用GEM的使用方法

常用GEM的使用方法

作者: 栋栋晓 | 来源:发表于2016-04-15 17:31 被阅读496次

    常用GEM的使用方法

    1. kaminari 分页系统

    1.1
    gem 'kaminari'
    bundle
    rails g kaminari:config
    rails g kaminari:views default/bootstrap3

    1.2
    lists_controller.rb

    def index
      @lists = List.all.order(created_at: :desc).page(params[:page]).per(5)
    end
    

    1.3
    <%= paginate @lists %>

    1.4

    en:
      hello: "Hello world"
      views:
        pagination:
          first: "首页"
          last: "末页"
          previous: "上一页"
          next: "下一页"
          truncate: "..."
    

    2. devise 用户登陆注册系统

    2.1
    gem devise
    bundle
    rails g devise:install
    rails g devise User
    rails g devise:views

    3. cancancan

    3.1
    gem 'cancancan'
    bundle
    rails g cancan:ability

    ability.rb
    if user.admin?
        can :manage, :all
    else
    
    end
    

    4. redcarpet 文本支持 markdown

    gem 'redcarpet'
    bundle

    接下来,打开app/helper/application_helper.rb, 添加下列代码。
      def markdown(text)
        options = {   
            :autolink => true, 
            :space_after_headers => true,
            :fenced_code_blocks => true,
            :no_intra_emphasis => true,
            :hard_wrap => true,
            :strikethrough =>true
          }
        markdown = Redcarpet::Markdown.new(HTMLwithCodeRay,options)
        markdown.render(h(text)).html_safe
      end
    
      class HTMLwithCodeRay < Redcarpet::Render::HTML
        def block_code(code, language)
          CodeRay.scan(code, language).div(:tab_width=>2)
        end
      end
    

    5. carrierwave 图片上传

    gem 'carrierwave', '0.6.2'
    gem 'mini_magick' #不使用rmagick,占内存
    bundle


    rails g migration add_avatar_to_users avatar:string
    rake db:migrate
    rails generate uploader Avatar [将会生成文件app/uploaders/avatar_uploader.rb]
    mount_uploader :avatar, AvatarUploader [为user的model user.rb添加如下代码,使表之间关联]
    修改app/uploaders/avatar_uploader.rb


    如何在表单中上传
    <%= form_for(@user) do |f| %>
      <div class="field">
        <%= f.file_field :avatar %>
        <%= f.hidden_field :avatar_cache %>
      </div>
    ...
    
    如何显示图片
    <%= image_tag(@user.avatar_url(:large)) if @user.avatar %>  [这里的:large就是指定图片的版本为large 64x64大小]
    

    6. bootstrap-sass

    gem 'bootstrap-sass'
    bundle
    往 assets 里的 css 和 js 添加 引用
    重新 rails s

    7. simple_form

    gem 'simple_form'
    bundle
    rails g simple_form:install

    8.

    相关文章

      网友评论

        本文标题:常用GEM的使用方法

        本文链接:https://www.haomeiwen.com/subject/fkmmlttx.html