2010-07-07 55 views
0

我有一些嵌套物品的訂單和物品嵌套種類。當我在視圖中做一個form_for @order,那麼我想隱藏所有有他們:registered屬性設置爲真正有沒有辦法隱藏模型中的一些嵌套對象?

<% form_for @order do |f| %> 
    <% f.fields_for :items do |ff| %> 
    <%# show all the items that have :registered == false %> 
    <% end %> 
<% end %> 

項目
def register 
    @order = Order.find(params[:id]) 
    # Sort out the :registered == true 
end 

回答

2

你可以嘗試這樣的事情:

<% form_for @order do |f| %> 
    <% f.fields_for :items do |ff| %> 
    <% next if ff.object.registered %> 
    <%# show all the items that have :registered == false %> 
    <% end %> 
<% end %> 

或者你可以創建未註冊項目的第二關聯:

class Order < ActiveRecord::Base 
    has_many :unregistered_itmes, :class_name => "Item", :conditions => { :registered => false } 
end 

然後你就可以做這樣的事情:

<% form_for @order do |f| %> 
    <% f.fields_for :unregistered_items do |ff| %> 
    <%# show all the items that have :registered == false %> 
    <% end %> 
<% end %> 
+0

,讓一個SyntaxError – Flexo 2010-07-07 09:04:24

+0

對不起,是我不好..它的工作 – Flexo 2010-07-07 09:05:14

相關問題