2013-10-08 83 views
0

我想知道如果我這樣做的權利,或者如果有一個更好的辦法:Rails的:基於JavaScript的用戶角色

在我的Rails應用程序,我已經在那裏,這取決於用戶是誰在登錄頁面在視圖的某些方面可以改變該頁面(這是Javascript處理這些變化(即禁用複選框等))

目前,我有application.html.erb文件添加一個div到頁面標記爲角色的名稱,Javascript檢查哪個div是活動的,並執行相應的Javascript,我對這種方法不太滿意,所以我正在尋找一些替代方法。我曾考慮過單獨的Javascript文件,並且只包含一些基於用戶角色的文件,但是這樣可以避免將我的所有Javascript合併到生產中的一個文件中(不是嗎?)。

回答

0

您可以在用戶模型中定義的字段「角色」,例如:

class User 
    field role 

    is_admin? 
    role == :admin 
    end 
end 

,並在您的視圖:

<% if current_user.is_admin? %> 
    <div class="one-code"> 
<% else %> 
    <div class="two-code"> 
<% end %> 

在軌渲染視圖,只呈現一個DIV根據的current_user角色。