【发布时间】:2013-07-04 16:28:02
【问题描述】:
我已经在我的应用程序设计范围内创建了
scope '/business' do
devise_for :accounts, :controllers => { :sessions => "business/sessions" }
end
namespace :business do
root to: 'user_profiles#index'
resources :user_profiles
end
将设计模板保存到业务/会话(例如业务/会话/会话/new.erb) 并编写了业务/会话控制器
class Business::SessionsController <
Devise::SessionsController
layout: 'temp'
def after_sign_in_path_for(resource)/
"/business"
end
def after_sign_out_path_for(resource)
'/business'
end
end
但是当我输入 url 并发送到登录时,我在日志中看到:
Rendered devise/sessions/new.html.erb within layouts/application (94.7ms)
所以 - 不是布局,也不是自定义视图。
我如何告诉设计使用自定义布局和视图?
更新 1
对于视图 - 它们应该放在相应模型的目录中,例如:views/accounts/sessions/
【问题讨论】:
-
我在
class Business::SessionsController、sessions_controller.rb 上没有看到new方法 -
父母是什么意思?你试过我的答案吗?
-
class Business::SessionsController < Devise::SessionsController父母是Devise::SessionsController -
您想要自定义视图设计,您应该向您的自定义控制器添加新的和创建操作方法,如果控制器在
/business/sessions_controller.rb中,您应该在/business/sessions/文件夹中添加视图。再说一次,你试过我的答案了吗?如果我的答案不起作用,您可以告诉我错误,我会更新我的答案。
标签: ruby-on-rails devise views