ruby on rails

常用GEM的使用方法

2016-04-15  本文已影响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.

上一篇下一篇

猜你喜欢

热点阅读