なぜこれが起こっているのか正直に分かりません。私はすべてを試しました。私のコントローラ(ruby on rails)のif文はすべて真として扱われていますか?
例: 私が学生が以前に取ったすべてのコースを通過しようとしているとしましょう。多分私はのようなものを設定するので:
student.courses.each do |course|
if course.name = "C0pm19abagdastgeagesdgs"
@test = 'hit'
end
end
明らかにそれが本当であることを行っていないが、それはとにかく真実としてそれを返します。
student.courses.each do |course|
if course.name = "COMP1900"
@test = 'hit'
end
end
このような状況でするのと同じように、trueを返します。このif文だけではありません。これはif文のすべてに対して行います。それが何を扱っているかに関係なく、プロジェクト、課題、学生、コース。名前、日付、何でも使用する。私は何が起こったのか分かりません。なぜなら、以前のステートメントがそうするべきであるならば、コード内の他の部分に以前にあったからです。私は非常に混乱しており、何が起こっているのか分かりません。コードブロックを間違ってスキップすることさえあります。なぜ私は考えていない。
あまりにも前にそれを試しました。何らかの理由で依然としてトリガします。実際には、それだけではトリガしませんでした。重複して割り当てられた値を出力しました。それは私が推測することではないですか? – gllwrnce
「割り当てられた値を複製する」という意味を明確にすることはできますか? –
たとえば、生徒が出力リストに2回割り当てられることがあります。しかし、すべての時間ではありません。また、値が実際にtrueの場合(course.name == "COMP1900"の場合など)、falseを出力します。今私がしようとしているのは、ある学生がすでにコースを受講しているかどうかを確認することです。つまり、student.precoursesは配列(@precourses = student.precoursesに配置されています)を意味しています。データベース(@ courses.each do | course |)と@ precourses.include?(course.name) – gllwrnce