0

我有一个奇怪的问题,我想实施。我已经思考了一段时间,但我无法提出解决方案。

因此,假设我访问了 www.rene.com/promotions/hitman。在此页面的 RHS 上,我有一个不好的一面显示其他促销图片。现在我想从侧边栏中隐藏杀手的图像。简而言之,当我在促销页面上时,右侧边栏上与我访问的促销相关的图片不会显示。右侧边栏使用循环并加载所有图像。如何将右侧边栏与我访问的促销活动联系起来?唯一的共同点是促销名称和促销图片的文件夹:

促销链接:www.rene.com/promotions/hitman

侧边栏图片:/img/promotions/hitman/250x90.jpg

4

1 回答 1

1

解决方案 1

在您当前的环境和您正在迭代的循环中的数据之间查找匹配的数据。您可以在您的request. 例如,如果您希望跳过的图像有一个src或什至一个href,那么您可以将其与您的请求环境 URL(通常是request.env['PATH_INFO'])或类似的东西相匹配。

如果href您的图像/链接的 与您请求中的路径信息相同,那么您可能应该跳过当前迭代 ( next),因为您将呈现指向您当前所在页面的链接。

解决方案 2

与 Ramaze 合作,这就是我解决这个问题的方法。首先,我需要陈述一些假设/主张。

您可能有一个布局模板或一个索引模板来呈现您需要匹配的两个不同模板(您的页面和“右侧边栏”)。如果您的布局或索引模板在您需要匹配的位置呈现部分,则解决方案在于将该匹配作为参数发送到该部分。

您的控制器(由于您的 URL,它可能被称为promotions.rb)应该(或可能)持有一个名为hitman. 这个方法代表访问页面的动作promotions/hitman。在此处声明一个可在整个实例中使用的变量(在此处instance variable阅读更多内容)。

您现在有了一个instance variable可以在布局/索引模板中使用并作为参数发送到部分的。

在部分中,您需要接收它并将其与您当前正在迭代的对象(在您的示例中为图像 URL)匹配 - 如果它们匹配您隐藏该图像(或在循环中使用next跳过迭代)。

于 2013-04-05T11:08:46.277 回答