开发者

Can i render :partial a view without leading underscore?

i am facing开发者_如何学JAVA a precarious condition here. I need to partially render a page that does not have a leading underscore.

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

this will look for

app/views/home/_contact.html.erb

but i want it to look for

app/views/home/contact.html.erb

is there a way of doing this.?

Thanks


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


You should not try to bypass the conventions if not really necessary. I guess contact.html.erb contains a form. Put this into app/views/home/_contact.html.erb and render it in app/views/home/contact.html.erb.

Or as fl00r answered:

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


As eteubert points out, one of the strengths of Rails is its opinionated nature. What you are trying to do here is bend that to your will. Don't. If you need to render something in another page as a partial, then you really should follow convention and extract a partial from the original page. If there's a form in that page for example, extract it out into a partial and have the original page render the partial as well.

You'll find the less you try to fight Rails, the easier things become.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜