2016-05-05 2 views
0

Я работаю над приложением rails, в котором есть одна таблица Пользователи, которая имеет две роли Admin и member. До сих пор я использую единую страницу входа.Две разные страницы входа для одной модели с дизайном на рельсах

Но теперь мне нужно сделать две разные страницы входа с совершенно разными стилями для администратора и пользователя. Кроме того, у администратора нет опции sign_up, но у члена есть.

Я полностью смущен, что это возможно или нет? Если возможно, как это сделать.

+0

Если вы 'рельсы генерировать Завещание: views' вы сможете увидеть шаблоны DEViSE. Вы можете дублировать введенный знак и переименовать его как admin, вы можете настроить, какие элементы формы отображаются. – myself

ответ

2

Devise sign in form - это просто форма с действиями, соответствующими разработанному контроллеру.

Вы можете написать этот код формы в любом месте вы хотите,

<%= form_for(:user, :url => session_path(:user)) do |f| %> 
    <%= f.text_field :email %> 
    <%= f.password_field :password %> 
    <%= f.check_box :remember_me %> 
    <%= f.label :remember_me %> 
    <%= f.submit 'Sign in' %> 
    <%= link_to "Forgot your password?", new_password_path(:user) %> 
<% end %> 
+0

и что передать его с контроллера, user = User.new,? –

0

Добавление @maximus ответа, вы можете использовать Pundit драгоценный камень, чтобы определить ваш вход в :user действия через UserPolicy контроллера. Внутри этого контроллера вы должны иметь возможность определить, какое направление, переданное в пользовательских навигациях, определяется их регистрацией role.

https://github.com/elabs/pundit

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