Javascript 在ajax jquery请求的URL部分应该放什么?URL始终返回未定义的内容

Javascript 在ajax jquery请求的URL部分应该放什么?URL始终返回未定义的内容,javascript,jquery,ruby-on-rails,Javascript,Jquery,Ruby On Rails,我试图呈现一个新的事件对象,并通过javascript将数据呈现在同一页面上。我需要在/users/1/events/new上显示结果,这是我的表单所在。我正在使用Ajax Jquery请求。但URL始终返回未定义的 以下是我尝试在URL部分中添加的内容: 1) ${this.href}.json 2) “这是行动” 3) /users/${e.target.data}/events`=>此动态代码应返回整数 我会遇到诸如非法调用和422(不可处理实体)之类的错误。我已经在谷歌上搜索过了,但仍然

我试图呈现一个新的事件对象,并通过javascript将数据呈现在同一页面上。我需要在/users/1/events/new上显示结果,这是我的表单所在。我正在使用Ajax Jquery请求。但URL始终返回未定义的

以下是我尝试在URL部分中添加的内容:

1)
${this.href}.json
2) “这是行动”
3) 
/users/${e.target.data}/events`=>此动态代码应返回整数

我会遇到诸如非法调用和422(不可处理实体)之类的错误。我已经在谷歌上搜索过了,但仍然感到困惑。 我希望我的问题结构合理。如果没有,请告诉我

这是我的表格:

<div class="form" id="form-wrap-event" data=<%=current_user.id%>>

      <%= render 'form' %>

</div>
这是我的事件控制器:

def create
      @event = Event.create(event_params)
      @event.host = current_user.host
      @users = User.all

      if !params[:event][:guest].blank?
          params[:event][:guest].each do |id|
            #finds guests and adds them to event's guest list
            @event.guests << Guest.find_or_create_by(user_id: id)
            @event.save
            @user.host.events << @event
          end
          respond_to do |format|
            format.html { redirect_to user_events_path }
            format.json { render json: @event }
          end
           # render json: @event
          # redirect_to user_events_path, flash: {success: "#{@event.name} is created!"}
      else
        render :new, flash: {danger: "Please enter all fields."}
      end
    end
def创建
@event=event.create(事件参数)
@event.host=当前用户.host
@users=User.all
如果!参数[:事件][:来宾].是否为空?
参数[:事件][:来宾]。每个do | id|
#查找来宾并将其添加到活动的来宾列表中

@因此,我放弃了ajax jquery语法,转而使用post方法

function getNewEvent(){
  $('form').submit(function(event) {
    //prevent form from submitting the default way
    event.preventDefault();
    let values = $(this).serialize();
      $.post(`${this.action}`, values).done(function(data) {
        console.log(data)
        $('#app-container').html('')
        const newEvent = new Event(data)
        const htmlToAdd = newEvent.renderHTML()

        $("#app-container").html(htmlToAdd)
    });
  });
}

因此,我放弃了ajax jquery语法,转而使用post方法

function getNewEvent(){
  $('form').submit(function(event) {
    //prevent form from submitting the default way
    event.preventDefault();
    let values = $(this).serialize();
      $.post(`${this.action}`, values).done(function(data) {
        console.log(data)
        $('#app-container').html('')
        const newEvent = new Event(data)
        const htmlToAdd = newEvent.renderHTML()

        $("#app-container").html(htmlToAdd)
    });
  });
}