我在嵌套循环中遇到了一些麻烦。有谁知道这样做的更好的办法:Rails 3.1/Ruby - 嵌套循环?
@product.tracks.each do |t|
t.artists_tracks.each do |at|
at.role = at.artist.role
at.position = at.artist.position
at.save
end
end
我发现了一个未定义的方法作用=错误
在此先感谢
我在嵌套循环中遇到了一些麻烦。有谁知道这样做的更好的办法:Rails 3.1/Ruby - 嵌套循环?
@product.tracks.each do |t|
t.artists_tracks.each do |at|
at.role = at.artist.role
at.position = at.artist.position
at.save
end
end
我发现了一个未定义的方法作用=错误
在此先感谢
一些评论:
只要你有一个has_many :artist_tracks, :through => :artists
,你应该可以写@product.artist_tracks
。
at.role = at.artist.role
。您打破了没有重复数据的基本SQL规则,请让artist
发挥作用。
@product.tracks.each do |track|
track.artists_tracks.each do |at|
at.role = track.artist.role
at.position = track.artist.position
at.save
end
end
但是,是的..你需要检查你的模型ATTRS
循环看起来不错,我肯定的事。每款车型都有哪些属性? – Dogbert 2012-08-07 14:00:38