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

ZX1*_*12R 35 ruby-on-rails

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

<%= render(:partial => "contact" ,:controller=>"home") %>
Run Code Online (Sandbox Code Playgroud)

这将寻找

app/views/home/_contact.html.erb
Run Code Online (Sandbox Code Playgroud)

但我想要它寻找

app/views/home/contact.html.erb
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点.

谢谢

fl0*_*00r 63

<%= render :file => '/homes/contact' %>
Run Code Online (Sandbox Code Playgroud)


eri*_*ert 5

如果不是真的有必要,你不应试图绕过惯例.我想contact.html.erb包含一个表单.把它放入app/views/home/_contact.html.erb并呈现它app/views/home/contact.html.erb.

或者当fl00r回答:

<%= render :file => '/homes/contact' %>
Run Code Online (Sandbox Code Playgroud)

  • 问题是新的用例开始出现,但是这个惯例正在阻碍.考虑一下:我的资产文件夹中有js模板,属于客户端的一流控制器.我想在服务器端视图中预呈现这些模板.所以在服务器端,这是部分的.在客户端,它是一个视图.如果没有`_`,Rails将无法识别部分,但是sprockets不会使用前导`_`编译模板.生活比约定更复杂^ o ^ // (2认同)