ライルス3 beta 4+devise+cancan作成権限管理システム(2)


今はページ全体を漢化します。
 
まず、私たちはもうappication.rbにlocalをzh-CSNとして配置しました。
 
http://github.com/tsechingho/rails-i18n/blob/master/rails/locale/zh-CN.yml
 
すでに配置された中国語をダウンロードしてconfig/local esに包んでください。このようにして、LIlsの中文化はもうできました。
 
次にdeviseの漢化をしています。
 
deviseは自分のi 18 nファイルを持っていますので、config/local esの中のdevise.en.ymlをdevise.zh-CSN.ymlと名前を変えて、中の英語を中国語に訳してもいいです。
 
これからviewの上の漢化をします。
 
最初に実行
 
rails g devise:views
 
viewsの下にdeviseのデフォルトページが作成されます。中で修正すればいいです。
 
続いてcancanです。授権業務を担当します。
 
まず、app/models/ability.rbを作成します。内容は以下の通りです。
 
 
class Ability
    include CanCan::Ability

    def initialize(user)
      if user.role == 'admin'
        can :manage, :all
      else
        can :read, :all
      end
    end
  end
 
app/models/user.rbに参加します。
 
class User < ActiveRecord::Base
  ROLES = %w[admin moderator author banned]
end 
 
リガのフィールド
 
 
script/generate migration add_role_to_users role:string
rake db:migrate
 
そうしたら、viewでcanを呼び出すことができますか?それともcannot方法でユーザーの役割を判断します。
 
 
<% if can? :update, @article %>
    <%= link_to "Edit", edit_article_path(@article) %>
  <% end %>