2013-07-19 57 views
0

我對軌道編碼有點新鮮。這將是巨大的,如果你能幫助我什麼,我想可能是小白question.Here是我的代碼:將值賦給模型

def create 
@project = Project.new(params[:project]) 
if @project.save 
    redirect_to new_project_path 
end 

[email protected]_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 

因此,在創建方法,每一個新的項目中創建一個名爲student_str串時間存儲每個學生的身份證號碼用「;」分隔。我使用split函數將該字符串拆分爲數組以獲取學生ID數組。我有把c.email放在「我在這裏」,以確保循環工作正常。我在終端上得到正確的輸出。

這裏的問題是

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

這只是似乎並不奏效。 執行此行時,我的模型未更新。我沒有得到任何錯誤。 你能告訴我我可能需要做些什麼來解決這個問題嗎?

謝謝!

回答

1

在更新了項目屬性後,您必須致電c.save。否則,對象會更新,但不會更新數據庫,因此下次加載時,更改將消失。

+0

謝謝隊友!這很好用!接受我的接受:) –