2013-10-08 2 views
0

Я хотел бы знать, если я делаю это право, или если есть лучший способ:Rails: JavaScript на основе роли пользователя

В моем приложении Rails, у меня есть страницы, где, в зависимости от пользователя, который заноситься in, некоторые аспекты представления могут измениться для этой страницы (это 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.

Смежные вопросы