Railsでのコーディングは初めてです。あなたが初心者の質問かもしれないと思うもので私を助けてくれれば素晴らしいでしょう.Hereは私のコードです:
def create
@project = Project.new(params[:project])
if @project.save
redirect_to new_project_path
end
student=@project.student_str.split(";")
@users = User.where(:code => student)
@users.each do |c|
puts c.email
end
@users.each do |c|
puts "I'm here"
c.projects = "#{c.projects};#{@project.id}"
end
end
したがって、create メソッドでは、新しいプロジェクトが作成されるたびに、各学生の ID 番号が「;」で区切られた、student_str という文字列が格納されます。split 関数を使用してその文字列を配列に分割し、学生 ID の配列を取得します。puts c.emailとputs "I'm here"を使用して、ループが正常に機能していることを確認します。端末で適切な出力が得られます。
ここでの問題は、
c.projects = "#{c.projects};#{@project.id}"
それは単に機能していないようです。この行が実行されると、私のモデルは更新されません。エラーは発生しません。これを修正するために私がしなければならないことがあるかもしれないことを教えてもらえますか?
ありがとう!