不确定我是否采取了正确的方法。我已经为查询的变体设置了各种控制器操作,并为每个我创建了一个关联的视图/模板。所有都使用相同模板的副本,因此拥有单独的视图似乎反效果......如果我决定更改布局,我必须更改每个模板。
以下是行动:
def schedule #routes to /products/schedule.html.erb
@products = Product.where('release_date >= ?', Date.today)
end
def active_lines #routes to /products/active_lines.html.erb
@products = Product.where('release_date <= ?', Date.today)
end
我更愿意为这些和进一步的行动提供一般产品模板。
答案 0 :(得分:0)
您可能会喜欢cell components。
答案 1 :(得分:0)
如果您有多个显示产品列表的操作,并且所有操作都具有相同的“外观”,则应使用单个模板。使用render指定模板:
def schedule
@products = Product.where('release_date >= ?', Date.today)
render 'products/list'
end
def active_lines
@products = Product.where('release_date <= ?', Date.today)
render 'products/list'
end
创建单个模板products/list.html.erb
,而不是之前的2个模板。
答案 2 :(得分:0)
根据您的观点的简单程度,您可以使用baldrick建议的方法 - 或者您可以设置嵌套布局。看看吧 Rails Guides for Layout and Rendering
这将允许您使用现有的应用程序布局,并在其中呈现嵌套布局。这允许您自定义每个视图,而无需在它们之间重复使用一堆布局。