使用嵌套资源时获取父资源的名称
问题描述:
我有一个使用表单部分来添加注释的注释控制器。现在,此控制器嵌套在需要评论的任何父资源下。使用嵌套资源时获取父资源的名称
resource :post do
resource :comments
end
resource :poll
resource :comments
end
如果我想要一个表格部分自动配置适当的资源,我会怎么做?
现在我必须设置形式嵌套资源的页面,像这样的:
<%=的form_for [@post,@comment]做| F | %> <%= f.label:标题%>
< %= f.text_field:标题%> <%= f.label:主体%>
< %= f.text_area:机身%> <%= f.submit%> <%结束%>
我想有一个部分,看起来像上面的代码,但是,我可以只CAL l <%= render 'comments/form' %>
有关实现此目的的最佳方法的任何想法?
答
你可以通过一个局部变量来使用当地人部分的意见解决这个问题,哈希:
在你的嵌套的资源,可以说,这篇文章的观点:
<%= render 'comments/form', :locals => {:resource => @post} %>
您的意见形式:
<%= form_for [resource, @comment] do |f| %>
<%= f.label :title %>
<%= f.text_field :title %> <%= f.label :body %>
<%= f.text_area :body %> <%= f.submit %>
<% end %>
此外,我鼓励您通过partials的详细说明解释本指南。
真棒,简短甜蜜,我不重复代码。我应该考虑通过一个变量。 – 2011-06-02 19:23:23