Railsの単純なクエリが原因で気が狂いそうです。なぜそれが10行前のように機能し、その後は機能しないのか理解できません。何が問題を引き起こしているのか理解できませんでした
@userID = Token.where(:tokenCode => @tokenReceived)
#@init.tokenCode=@tokenReceived+"1" #randomize algorithm required!
@init.tokenCode=@codeGenerated=generate_activation_code()
if @userID.nil?
@newToken=Token.new
@newToken.tokenCode=@codeGenerated
else
@tokenToAdd = "12"
@newToken=Token.where(:userID => "1")
#if @newToken.nil?
@newToken.tokenCode="12"
#end
end
#@newToken.save
@init.save
'http:// localhost:3000 / inits.json'へのJSONリクエストを成功させると、大量のエラーを含むページが表示されますが、その中の主なエラーは次のとおりです。
<h1>
NoMethodError
in InitsController#create
</h1>
<pre>undefined method `tokenCode=' for #<ActiveRecord::Relation:0x007fc43cb40b88></pre>
理由は何でしょうか?where句をすべて間違って書いていますか?
編集: if句をアクティブにすると機能します。@newTokenオブジェクトがnullであると単純に信じていますが、その理由を検出することはほとんど不可能です。TokenテーブルにuserID1のデータがあります。