2011-11-28 20 views
2

我使用這個標籤中的自定義視圖,來爲我的對象CRUD形式:有沒有辦法從Play的CRUD表單中過濾一些字段?

<div class="configForm"> 
    #{crud.form /} 
</div> 

這產生我自己的看法裏面CRUD形式。有沒有辦法通過刪除一些我不想編輯的字段來自定義生成的表單?

我看準了這一線內form.html:

#{list items:_fields ?: currentType.fields*.name, as:'fieldName'} 

如果我讀這個權利,然後有一個_fields參數,可能讓我選擇加入域(我寧願選擇退出,但我會採取選擇)。我如何使用這個_fields參數?

回答

4

可以過濾像場:

#{crud.form fields:['name', 'email', 'password']/}

這將只顯示字段名,電子郵件地址和密碼

問候 Ronald

+0

修復了你的標籤 - 謝謝! – ripper234

2

我寫了一個filtered version CRUD的ObjectType。該控制器可以選擇哪些字段進行過濾,像這樣:

public static void show(long id) { 
    MyModel object = MyModel.findById(id); 
    CRUD.ObjectType type = new FilteredObjectType(MyModel.class, 
     "filteredField1", 
     "filteredField2"); 
    render(type, object); 
} 
+0

爲什麼@羅納德的回答不是被接受的答案? – Stefano

+0

@Stefano - 好吧,從技術上講,當我發佈這個時,我想'過濾掉'字段,而不必明確寫出我想要的字段列表。儘管如此,它已經足夠接近了,也許比選擇退出更有用。我會接受他的回答。 – ripper234

0

您可以關注Play documentation。然後,您可以輕鬆編寫自己的ExtCRUD類,該類忽略在Controller的靜態變量中聲明的所有字段。如何FilteredObjectType是特殊情況下更容易的解決方案。

相關問題