常用GEM的使用方法
1. kaminari 分頁(yè)系統(tǒng)
1.1
gem 'kaminari'
bundle
rails g kaminari:config
rails g kaminari:views default/bootstrap3
1.2
lists_controller.rb
defindex@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: "首頁(yè)"? ? ? last: "末頁(yè)"? ? ? previous: "上一頁(yè)"? ? ? next: "下一頁(yè)"? ? ? truncate: "..."
2. devise 用戶登陸注冊(cè)系統(tǒng)
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.rbifuser.admin?can:manage,:allelseend
4. redcarpet 文本支持 markdown
gem 'redcarpet'
bundle
接下來(lái),打開(kāi)app/helper/application_helper.rb, 添加下列代碼。defmarkdown(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_safeendclassHTMLwithCodeRay<Redcarpet::Render::HTMLdefblock_code(code,language)CodeRay.scan(code,language).div(:tab_width=>2)endend
5. carrierwave 圖片上傳
gem 'carrierwave', '0.6.2'
gem 'mini_magick' #不使用rmagick,占內(nèi)存
bundle
rails g migration add_avatar_to_users avatar:string
rake db:migrate
rails generate uploader Avatar [將會(huì)生成文件app/uploaders/avatar_uploader.rb]
mount_uploader :avatar, AvatarUploader [為user的model user.rb添加如下代碼,使表之間關(guān)聯(lián)]
修改app/uploaders/avatar_uploader.rb
如何在表單中上傳<%=form_for(@user)do|f|%><divclass="field">? ? <%= f.file_field :avatar %>
? ? <%= f.hidden_field :avatar_cache %>
? </div>...
如何顯示圖片<%=image_tag(@user.avatar_url(:large))if@user.avatar%>[這里的:large就是指定圖片的版本為large64x64大小]
6. bootstrap-sass
gem 'bootstrap-sass'
bundle
往 assets 里的 css 和 js 添加 引用
重新 rails s
7. simple_form
gem 'simple_form'
bundle
rails g simple_form:install