NoMethodError(未定义的方法`[]'对于nil:NilClass)Rails

时间:2018-04-11 13:32:25

标签: ruby-on-rails json xmlhttprequest ruby-on-rails-5

Heey我正在使用ruby应用程序,我已将我的脚本解析为JSON变量。var tojs = myDiagram.model.toJSON();,所以现在使用XMLHttpRequest我将此变量发送到我的模型。

request.open("post", "http://localhost:3000/malesingle", true);
    request.setRequestHeader("Content-Type", "application/json");
    request.send(tojs);

我的控制器是这样的:

def new
    @tournoi = Tournoi.new

  end

  def create
      JSON.parse(params[:tournoi][:payload])
      @tournoi = Tournoi.new(bracket_params)
      if @tournoi.save
        redirect_to root_url
        #format.json { render :show, status: :created, location: @user }
        flash[:success] = "Your tournament bracket has been validated!"
      #  redirect_to @tournoi
      else
        render 'new'
      end
  end
  private
    # Never trust parameters from the scary internet, only allow the whitelist through.
    def bracket_params
      params.require(:tournoi).permit(:payload)
     end

我不知道是否因为我正在使用

<%= form_for Tournoi.new do |f| %>
  <button id="SaveButton" onclick="save()">Save</button>
<% end %>

提交新的Tournoi,但form_for (@tournoi),甚至不会渲染视图。  每当我尝试提交时,他在终端上显示的JSON内容,但我得到了

  

24ms完成500内部服务器错误(ActiveRecord:0.0ms)

后跟

  

NoMethodError(未定义的方法`[]&#39;对于nil:NilClass)

  

TypeError(没有将nil隐式转换为String):

我似乎无法找到我错误的地方,试图改变我的代码,我回到了同一点。

0 个答案:

没有答案