ライルス3 beta 4+devise+cancan作成権限管理システム(2)
1610 ワード
今はページ全体を漢化します。
まず、私たちはもう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の上の漢化をします。
最初に実行
viewsの下にdeviseのデフォルトページが作成されます。中で修正すればいいです。
続いてcancanです。授権業務を担当します。
まず、app/models/ability.rbを作成します。内容は以下の通りです。
app/models/user.rbに参加します。
リガのフィールド
そうしたら、viewでcanを呼び出すことができますか?それともcannot方法でユーザーの役割を判断します。
まず、私たちはもう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 %>