【问题标题】:assigning values to model为模型赋值
【发布时间】:2013-07-19 12:17:04
【问题描述】:

我对在 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.emailputs "I'm here" 以确保循环正常工作。我在终端上得到了正确的输出。

这里的问题是

c.projects = "#{c.projects};#{@project.id}"

这似乎不起作用。 执行此行时,我的模型未更新。我没有得到任何错误。 你能告诉我我可能需要做些什么来解决这个问题吗?

谢谢!

【问题讨论】:

    标签: ruby-on-rails rails-models sqlite3-ruby


    【解决方案1】:

    您必须在更新项目属性后致电c.save。否则,对象会更新,但不会更新数据库,因此下次加载它时,更改就会消失。

    【讨论】:

      猜你喜欢
      • 2015-07-24
      • 2016-08-14
      • 1970-01-01
      • 1970-01-01
      • 2017-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-06
      相关资源
      最近更新 更多