所以我试图合并两个表并按 start_date 的顺序显示结果。我已经尝试了一些东西,但因为它在技术上是一个嵌套循环,它给我每个项目的双重结果。我目前拥有的代码如下
<% @subcategory = Subcategory.all %>
<% @product = Product.all %>
<% (@product + @subcategory).each do |product, subcategory|%>
<% if product.display_on_home_page and !product.is_highlight_product and !(product == '..') or subcategory.
display_on_home_page and !subcategory.is_highlight_product and !(subcategory == '..')%>
<div class="column_entry">
<%= link_to image_tag(subcategory.image_attachment.url(:normal_page_size)), subcategories_content_url(subcategory.id), :controller=>'subcategories' %>
</div>
<% end %>
<% if product.price_from %>
<div class="column_entry">
<div class="product_special">
<span class="a">From Only</span>
<span class="b"><%= number_to_currency(product.price,:unit=>'€') %></span>
</div>
<%= link_to image_tag(product.product_image.url(:normal_page_size)), products_content_url(product.id), :controller=>'products' %>
</div>
<% else %>
<div class="column_entry">
<div class="product_special">
<span class="a">Only</span>
<span class="b"><%= number_to_currency(product.price,:unit=>'€') %></span>
</div>
<%= link_to image_tag(product.product_image.url(:normal_page_size)), products_content_url(product.id), :controller=>'products' %>
</div>
<% end %>
<% end %>
我知道这是一个相当长的复杂语句,它应该遍历所有子类别和所有产品并显示图像,还有两种不同的显示价格的方式基于布尔值,表示价格是否特定数量或从给定价格开始。
目前它通过循环读取但它给了我错误
undefined method `is_highlight_product' for nil:NilClass
因为这是表中被引用的第一列并且它在这里中断,所以我认为它查看表中存储的信息的能力一定存在一些冲突。
我对 ruby on rails 还是很陌生,所以非常感谢任何帮助,甚至只是朝着正确方向轻推。
如果您想了解更多信息,请在评论中提问,我会尽快发布。