我可以渲染:部分视图没有前导下划线?

时间:2010-05-12 12:14:56

标签: ruby-on-rails

我在这里面临着不稳定的状况。我需要部分呈现一个没有前导下划线的页面。

<%= render(:partial => "contact" ,:controller=>"home") %>

这将寻找

app/views/home/_contact.html.erb

但我希望它能找到

app/views/home/contact.html.erb

有没有办法做到这一点。?

由于

3 个答案:

答案 0 :(得分:62)

<%= render :file => '/homes/contact' %>

答案 1 :(得分:5)

如果没有必要,你不应试图绕过惯例。我想contact.html.erb包含一个表单。将其放入app/views/home/_contact.html.erb并将其呈现在app/views/home/contact.html.erb

或者当fl00r回答:

<%= render :file => '/homes/contact' %>

答案 2 :(得分:4)

正如eteubert指出的那样,Rails的优势之一就是它的固执性。你在这里想要做的就是按照自己的意愿行事。别。如果你需要在另一个页面中呈现某些内容,那么你真的应该遵循约定并从原始页面中提取部分内容。例如,如果该页面中有表单,则将其提取为部分表单,并使原始页面也呈现部分表单。

你会发现你尝试对抗Rails越少,事情变得越容易。