我有这个each
循环:( haml)
- @deals.each do |a|
.slide
%a{:href => "#"}
- a.attachments.each do |a|
= image_tag(a.file.url, :height =>"325px", :width =>"650px" )
.caption{:style => "bottom:0"}
= a.description
由于@deals
是3个表(模型)的组合查询,我使用polymorphic_path
来生成图像的链接。
- @deals.each do |a|
.slide
%a{:href => "#"}
- a.attachments.each do |a|
= image_tag(a.file.url, :height =>"325px", :width =>"650px" ), polymorphic_path(@region, @city, a)
.caption{:style => "bottom:0"}
= a.description
但这会生成region_city_attachment_path
,这是不正确的。第一个每个循环a
变量存储正确的值,但我如何reach
第二个a
循环中的第一个each
变量?
答案 0 :(得分:14)
请给它另一个名字。
- @deals.each do |a|
.slide
%a{:href => "#"}
- a.attachments.each do |b|
= image_tag(a.file.url, :height =>"325px", :width =>"650px" ), polymorphic_path(@region, @city, b)
.caption{:style => "bottom:0"}
= a.description
答案 1 :(得分:13)
使用变量名时你应该更清楚,做一些像
这样的事情- @deals.each do |deal|
.slide
%a{:href => "#"}
- deal.attachments.each do |attachment|
..
使用诸如“a”/“b”/“x”这样的名称是一种非常糟糕的做法,当你可以编写更易读的代码时
答案 2 :(得分:1)
只是不要为它们使用相同的名称,一切都会好起来。