【问题标题】:Uncaught SyntaxError: Unexpected token < in railsUncaught SyntaxError: Unexpected token < in rails
【发布时间】:2017-11-30 07:41:14
【问题描述】:

这是我在 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();

单击登录按钮时出现此错误。

【问题讨论】:

  • 可能与class Users::SessionsController &lt; Devise::SessionsController(您的第一行)有关。我对 ruby​​ 了解不多,但似乎&lt; 在那里出乎意料
  • 不,这不是类 Users::SessionsController
  • 那么,最后你不会错过end 吗?
  • 你能分享你new.html.erb或登录表格吗?
  • 你能发布完整的错误跟踪吗?

标签: javascript ruby-on-rails devise


【解决方案1】:

使用以下代码将文件 new.js.haml 更改为 new.js.erb

$("#login-modal").html("<%= escape_javascript(render 'new') %>");
$("#exampleModal").modal();

【讨论】:

  • 您是否将文件扩展名更改为js.erb
猜你喜欢
  • 2018-01-07
  • 2021-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-04
相关资源
最近更新 更多