2013-07-24 81 views
0

呈現形式和變量可以請人向我解釋這是怎麼回事就在這裏魔術通過諧音

場景通過教程創建任務管理器,我需要顯示我的任務去後面,所以我

each .. do 

但後來我需要添加一些複選框和按鈕劃掉我的任務,並將其移動到另一個類別,這意味着處理表單。

指數:

<%= render @incomplete_tasks %> 
<%= render @completed_tasks %> 

_Task部分:

<%= form_for task do |f| %> 
    <%= f.check_box :complete %> 
    <%= f.submit "Update" %> 
    <%= f.label :complete, task.name %> 
    <%= link_to "(remove)", task, method: :delete, data: {confirm: "Are you sure?"} %> 
<% end %> 

這使得合併做/每形式我上網,我已經在這個代碼迷迷糊糊的幾個嘗試失敗後(WAT!),這很好,但我不知道它是如何做的,這是不好的。不幸的是,文檔here中的渲染變量沒有太多信息。

Rails如何知道我想呈現_task partial爲特定變量?這是命名慣例嗎?

我該如何在沒有偏色的情況下編碼?

+0

是的,它的命名。你可以手動發射表單。 –

回答

1

是的,命名約定的確在起作用。

如果傳遞的變量是一個類似數組的對象,它會自動設置:collection選項來渲染partials。並且對於集合中的每個元素,它都會嘗試呈現與集合中ActiveRecord對象相同名稱的部分。

沒有泛音,你可以這樣做:

<% @incomplete_tasks.each do |task| %> 
    <%= form_for task do |f| %> 
    <%= f.check_box :complete %> 
    <%= f.submit "Update" %> 
    <%= f.label :complete, task.name %> 
    <%= link_to "(remove)", task, method: :delete, data: {confirm: "Are you sure?"} %> 
    <% end %> 
<% end %>