2012-02-24 2 views
9

Я хочу использовать созданные мной созданные представления (с командой rails g devise:views users) от app/views/users.Невозможно переопределить по умолчанию образцы драгоценных камней

Я уже установили эти параметры из app/initializers/devise.rb:

config.scoped_views = true 
config.default_scope = :user 

, но он по-прежнему используется по умолчанию разработать взгляды от /usr/lib/ruby/gems/1.8/gems/devise-2.0.4/app/views/devise/

Так что я должен делать? Спасибо.

+0

Ваши представления в 'app/views/users' или' app/views/users/sessions'? –

+0

Tom L, [yes] (http://stackoverflow.com/questions/9432946/cant-override-default-devise-gem-views#comment11927719_9432946) – user973254

+0

Извините, вы ответили, когда я изменил свой вопрос, так как это был дуплекс Нэша. –

ответ

2

Для пользовательского входа в систему, когда вы используете исходный ресурс User, я думаю, вам нужно всего лишь создать app/views/devise/sessions/new.html.erb. И, на данный момент, давайте забудем о интерфейсе CRUD. И отмените настройки config/initializers/devise.rb. Просто посмотрите, сможете ли вы это сделать.

+0

Эта комбинация работает, но я не могу понять, почему мой не работает. Мне действительно нужны рабочие области. – user973254

+0

Так что это работает. Круто. Если вам нужен CRUD, вам нужен обычный контроллер и виды. Я не думаю, что вам нужно возиться с областями, если у вас нет более одного вида пользователя. –

+0

Но все еще интересно, как я могу получить области действия. – user973254

9

У меня была такая же проблема, и мне потребовалось навсегда понять это. Установка config.scoped_views = true - это первый шаг, но есть еще один шаг, который не столь ясен.

Если вы внимательно посмотрите на некоторые из видов, которые генерируются rails g devise:views users, вы увидите, что шаблоны включают в себя в нижней части файла. Поскольку вы создали эти представления, общие ссылки теперь находятся в users/shared/links. Так как devosis больше ничего не находит в devise/shared/links, вместо этого он использует вид ссылок по умолчанию.

Изменить <%= render "devise/shared/links" %><%= render "users/shared/links" %> и вы настроены!

+0

Это был ответ для меня. Раньше не было никаких настроек области, а devolution переопределяет представления по умолчанию по умолчанию. –

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