2011-06-02 252 views
0

我有一個使用表單部分來添加註釋的註釋控制器。現在,此控制器嵌套在需要評論的任何父資源下。使用嵌套資源時獲取父資源的名稱

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' %>

有關實現此目的的最佳方法的任何想法?

回答

1

你可以通過一個局部變量來使用當地人部分的意見解決這個問題,哈希:

在你的嵌套的資源,可以說,這篇文章的觀點:

<%= 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的詳細說明解釋本指南。

+0

真棒,簡短甜蜜,我不重複代碼。我應該考慮通過一個變量。 – 2011-06-02 19:23:23