【发布时间】:2020-07-17 00:07:16
【问题描述】:
我想阻止用户访问 html 设计页面 users/passwords/new,因为我已经让我的所有设计页面都响应 :js。 这一切都适用于我的注册和会话,但我似乎无法使用密码。
我已经设置了覆盖控制器的路由:
devise_for :users, controller: { passwords: 'users/passwords' }
我已重置该控制器中的导航格式:
class Users::PasswordsController < Devise::PasswordsController
clear_respond_to
respond_to :js
****** rest of devise code
end
我已经设置了devise.rb
config.navigational_formats = ['*/*', :html, :js](即使我在这里删除了html它仍然不起作用)
我什至从views/devise/passwords 文件夹中删除了new.html.erb。
但我仍然可以访问网址users/passwords/new
当然,如果我使用带有remote: true 的链接,它确实会呈现我的new.js.erb。
此外,如果我在字段中输入邮件,它只响应 :js 会阻止 Devise 工作,我收到 ActionController::UnknownFormat 错误。
以前有人做过吗?
【问题讨论】:
标签: ruby-on-rails devise