2

我不太明白为什么部分渲染的新功能并不总是起作用。例如使用以下代码:

= render(:partial => "pages/#{foo}/data")

pages/_data.html.erb如果pages/test/_data.html.erb不存在,它将永远不会回退到部分。我怎样才能得到这种行为?

4

2 回答 2

2

你可以做的是:

= render(:partial => "pages/#{foo}/data") rescue render(:partial => "pages/data")

但是,如果有人有更好的解决方案,我会很感兴趣,这个解决方案并不优雅,尤其是当您有一些变量要传递给部分时。至少如果由助手处理会更好。

于 2011-10-28T22:14:50.600 回答
0

我对 partials 的理解不是它们是要渲染的小的、独立的 HTML 块,而是可以用来以更连贯的方式组织代码的零碎抽象。

正如我所看到的,创建部分文件是为了在一个或多个地方使用,这样文件就不会变得混乱,它们不习惯于简单地由它们自己呈现。然而,我可能弄错了。

于 2011-10-28T22:45:02.663 回答