我不太明白为什么部分渲染的新功能并不总是起作用。例如使用以下代码:
= render(:partial => "pages/#{foo}/data")
pages/_data.html.erb
如果pages/test/_data.html.erb
不存在,它将永远不会回退到部分。我怎样才能得到这种行为?
我不太明白为什么部分渲染的新功能并不总是起作用。例如使用以下代码:
= render(:partial => "pages/#{foo}/data")
pages/_data.html.erb
如果pages/test/_data.html.erb
不存在,它将永远不会回退到部分。我怎样才能得到这种行为?
你可以做的是:
= render(:partial => "pages/#{foo}/data") rescue render(:partial => "pages/data")
但是,如果有人有更好的解决方案,我会很感兴趣,这个解决方案并不优雅,尤其是当您有一些变量要传递给部分时。至少如果由助手处理会更好。
我对 partials 的理解不是它们是要渲染的小的、独立的 HTML 块,而是可以用来以更连贯的方式组织代码的零碎抽象。
正如我所看到的,创建部分文件是为了在一个或多个地方使用,这样文件就不会变得混乱,它们不习惯于简单地由它们自己呈现。然而,我可能弄错了。