ajax表单提交返回新对象



所以我正在制作一个rails网站。我有一个远程form_for标记,当我单击提交按钮时,它通过ajax调用创建一个新问题。我希望rails应用程序将新问题添加回浏览器javascript变量,问题的集合。现在我有

----issues_controller.rb-----
def create
    @issue = @project.issues.new(issue_params)
    @issue.user_id = current_user.id
    respond_to do |format|
      if @issue.save
        format.html { redirect_to [@project, @issue], notice: 'Issue was successfully created.' }
        format.js
        format.json { render :show, status: :created, location: @issue }
      else
        format.html { render :new }
        format.json { render json: @issue.errors, status: :unprocessable_entity }
      end
    end
  end
----create.js.erb----
var old_issues = $('#issues').data('issues');
old_issues += $.parseJSON(<%= @issue.to_json =>);

我听说如果你使用to_json方法,那么你做错了。怎样做才更合适呢?

把这个改成

old_issues += $.parseJSON(<%= @issue.to_json =>);

old_issues = old_issues.concat(<%= raw @issue.to_json %>);

JS自动将json转换为object.

最新更新