This is my first question on StackOverflow. I am new to Rails and am making a simple Rails app in which I am doing a modal popup for user login in. My code is below.
App/Controller/Sessions:
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
My new.js.haml file:
$("#login-modal").html("#{escape_javascript(render 'new')}");
$("#exampleModal").modal();
I am getting this error when I click the sign in button.
Leopold Joy
4,6704 gold badges30 silver badges38 bronze badges
1 Answer 1
change file new.js.haml to new.js.erb with following code:
$("#login-modal").html("<%= escape_javascript(render 'new') %>");
$("#exampleModal").modal();
answered Nov 30, 2017 at 10:15
puneet18
4,4272 gold badges25 silver badges27 bronze badges
Sign up to request clarification or add additional context in comments.
1 Comment
puneet18
have you changed file extension to
js.erb?lang-js
class Users::SessionsController < Devise::SessionsController(your first line). I don't know much about ruby, but seems like<is unexpected thereendat the end ?new.html.erbor the sign_in form?