Ruby循环问题
我似乎无法使这个循环正常工作Ruby循环问题,ruby,arrays,loops,Ruby,Arrays,Loops,我似乎无法使这个循环正常工作 @mr = MediaRating.where("user_id = ?", session['user_credentials_id']) unless @mr.empty? @mr.each do |rating| @m = Media.where("id = ?", rating.media_id) @m.each do |m| @history << m end end end 控制器: @mr
@mr = MediaRating.where("user_id = ?", session['user_credentials_id'])
unless @mr.empty?
@mr.each do |rating|
@m = Media.where("id = ?", rating.media_id)
@m.each do |m|
@history << m
end
end
end
控制器:
@mr = MediaRating.where("user_id = ?", session['user_credentials_id'])
@mr.each do |rating|
@m = Media.where("id = ?", rating.media_id)
@history << @m
end
@mr=mediaating.where(“user\u id=?”,会话['user\u credentials\u id'))
@每一位先生都做了评级|
@m=媒体。其中(“id=?”,评级。媒体\u id)
@历史媒体表中有多少内容?如果每个中介值都返回3个值,那么循环就可以了
另外,除非@mr.empty?
是不需要的,因为如果@mr
是空的,每个
块将不起任何作用
我想这就是你所需要的:
@mr = MediaRating.where("user_id = ?", session['user_credentials_id'])
@mr.each do |rating|
@m = Media.where("id = ?", rating.media_id)
@history << @m
end
@mr=mediaating.where(“user\u id=?”,会话['user\u credentials\u id'))
@每一位先生都做了评级|
@m=媒体。其中(“id=?”,评级。媒体\u id)
@history我认为您在@history数组中添加了错误的值。
如果您想要媒体评级历史记录,您应该正确添加媒体评级
@history << mr
@history我需要将@m
中的值添加到历史数组中。我需要遍历每一个mediaarating来搜索媒体数据库。你能在每一个媒体的第二个页面中添加一个打印,看看它执行该主体的次数吗。添加一些数据点,这也会很有帮助。由于有100个媒体,请在迭代之前检查@m的大小。能否将第二个变量的名称分别更改为| media |?media包含什么?检查嵌套媒体后@m包含的内容。其中callre:嵌入的ERB,除非/else
逻辑。当我进行代码审查或处理其他人的代码时,我不喜欢在代码中看到这种组合。我发现当我破译中隐含的而不是,除非,否则这个组合会使我的大脑降档,以弄清发生了什么。参见John Nunemaker的文章。MediaRating表中有3项内容(目前用于测试目的),但MediaRating表中有100项内容@history
应该包含哪些内容<代码>媒体
或媒体评级
萨尔索,感谢您提供关于除非声明的提示,仍在尝试学习rubyThanks以获得帮助!我在上面添加我的工作代码。。。我试图将数组传递到:集合中以获取部分..时遇到了一个问题。。就像我说的,我还在努力学习Ruby/Rails:)
@history << mr