我对在 Rails 上编码有点陌生。如果您能帮助我解决我认为可能是菜鸟的问题,那就太好了。这是我的代码:
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 方法中,每次创建新项目时都会存储一个名为 student_str 的字符串,其中每个学生的 ID 号用“;”分隔。我使用 split 函数将该字符串拆分为一个数组,以获取一组学生 ID。我有puts c.email并输入“我在这里”以确保循环正常工作。我在终端上得到了正确的输出。
这里的问题是
c.projects = "#{c.projects};#{@project.id}"
这似乎不起作用。执行此行时,我的模型未更新。我没有得到任何错误。你能告诉我我可能需要做些什么来解决这个问题吗?
谢谢!