这是我在StackOverflow上的第一个问题。我是Rails的新手,我正在创建一个简单的Rails应用程序,我正在为用户登录进行模态弹出。我的代码如下。
应用/控制器/会话
class Users::SessionsController < Devise::SessionsController
# respond_to :html, :json
# before_action :check_user_session, only: [:new]
# GET /resource/sign_in
def new
self.resource = resource_class.new(sign_in_params)
clean_up_passwords(resource)
yield resource if block_given?
respond_to do |format|
format.js
format.html
end
end
# POST /resource/sign_in
def create
self.resource = warden.authenticate(auth_options)
if self.resource.present?
set_flash_message(:notice, :signed_in)
sign_in(resource_name, resource)
yield resource if block_given?
respond_with resource, location: after_sign_in_path_for(resource)
else
respond_to do |format|
format.js
end
end
end
我的new.js.haml
档案
$("#login-modal").html("#{escape_javascript(render 'new')}");
$("#exampleModal").modal();
单击登录按钮时出现此错误。
答案 0 :(得分:1)
使用以下代码将文件new.js.haml
更改为new.js.erb
:
$("#login-modal").html("<%= escape_javascript(render 'new') %>");
$("#exampleModal").modal();