ruby-on-rails 我可以渲染:partial一个没有前导下划线的视图吗?

mzillmmw  于 5个月前  发布在  Ruby
关注(0)|答案(4)|浏览(68)

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

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

字符串
这将寻找

app/views/home/_contact.html.erb


但我想让它寻找

app/views/home/contact.html.erb


有办法做到这一点吗?
谢谢

bq9c1y66

bq9c1y661#

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

字符串

sbdsn5lh

sbdsn5lh2#

如果不是真的需要,你不应该试图绕过约定。我猜contact.html.erb包含一个表单。把它放到app/views/home/_contact.html.erb中,然后在app/views/home/contact.html.erb中呈现它。
或者fl00r回答:

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

字符串

7vhp5slm

7vhp5slm3#

正如eteubert所指出的,Rails的一个优点是它的固执己见的本质。你在这里试图做的是按照你的意愿弯曲它。不要。如果你需要在另一个页面中呈现部分内容,那么你真的应该遵循惯例,从原始页面中提取部分内容。例如,如果页面中有一个表单,将其提取为部分,并让原始页面也呈现该部分。
您会发现,您越少尝试对抗Rails,事情就变得越容易。

ippsafx7

ippsafx74#

执行以下操作也应该有效:

render template: 'contact'

字符串

render template: 'homes/contact'

相关问题