我不太明白为什么部分渲染的新功能并不总是起作用。 例如,使用此代码:
= render(:partial => "pages/#{foo}/data")
如果pages/_data.html.erb
不存在,它将永远不会回退到部分pages/test/_data.html.erb
。我怎么能得到这种行为?
答案 0 :(得分:2)
你可以做的事情是:
= render(:partial => "pages/#{foo}/data") rescue render(:partial => "pages/data")
但是如果有人有更好的解决方案我会感兴趣,这个问题并不优雅,特别是当你有一些变量传递给partial时。至少如果由帮助者处理可能会更好。
答案 1 :(得分:0)
我对partials的理解并不是它们是用于渲染的小型,独立的HTML块,而是可以用来以更连贯的方式组织代码的抽象的部分和抽象。
正如我所看到的,创建部分以在一个或多个地方使用,使得文件不会变得杂乱,它们不仅仅用于简单地自己渲染。然而,我可能会弄错。