在Rails中,我可以使用accept_nested_attributes_for來允許單個窗體創建兩個不同但相關的對象。現在,我正在開發一個Scala Lift項目,我想做類似的事情。我有一個用戶模型和一個地址模型。我想要一個創建用戶及其地址的表單。這在Lift中如何工作?電梯窗體是否可以接受多個模型的屬性?
0
A
回答
1
一般來說,Lift方法通過將處理函數綁定到表單提交時調用的每個輸入來形成處理。在這些功能的每一箇中,您都可以定義您需要在模型中設置適當字段的邏輯。
使用類似下面的例子,你可以實例化你的類,然後在提交時執行適當的操作。你會看到這會創建一個User
和一個Address
類,然後在每個類上設置一個字段。綁定到提交按鈕的功能將負責保存兩者。由於動作發生在一個函數中,因此可以包含儘可能多的邏輯以使應用程序可以工作(數據轉換,設置多個字段等)。例如,在提交邏輯中,我將Address
的id與User
關聯,以定義它們之間的關係。
程式碼中
val user = new User()
val address = new Address()
".nameField" #> SHtml.input(user.name, (txt) => {
user.name = txt
}) &
".addressField" #> SHtml.input(address.address1, (txt) => {
address.address1 = txt
}) &
".submit" #> SHtml.submit("Save",() => {
//persist address
user.addressId = address.id
//persist user
})
在HTML
<form data-lift="form">
<input class="nameField"></input>
<input type="submit" class="submit"></input>
</form>
一般情況下,這是你如何完成你正在尋找做什麼。除了自己處理所有事情之外,Lift還包括Mapper
,它幾乎是一個數據庫ORM。我相信可以使許多關係映射自動化,並使一些表單的創建更容易。我自己並沒有真正使用它,所以我不能給你一個更具體的例子。但是,如果您決定檢查,可以在Mapper here和here上找到更多信息。
+0
您的回答非常有幫助!謝謝! –
相關問題
- 1. 是否可以將Spring窗體綁定到兩個不同的模型屬性?
- 2. attr_accessible可以接受對象而不是模型屬性?
- 3. 模型是否可以屬於多個模型?
- 4. 整體事件是否可以接受?
- 5. 只有以前是空的,才接受Rails模型屬性
- 6. Windows窗體控件是否可以擁有Design Time-only屬性?
- 7. 是否可以將範圍傳遞給用戶窗體屬性?
- 8. 是否可以在Windows窗體中使用Page.IsPostBack屬性? c#
- 9. 屬性值不可接受的類型,但類型是好的
- 10. 這個用法是否可以接受?
- 11. 「接受嵌套屬性」實際上不接受模型中的屬性
- 12. 不可接受的屬性值屬性
- 13. 是否可以將模型類的屬性綁定到ComboBox?
- 14. 是否可以通過模型控制像'只讀'的屬性?
- 15. 是否可以將ID更改爲模型中的屬性?
- 16. 是否可以設置另一個進程窗體的MinimumSize屬性? C#
- 17. PFUbiquityRecordsImporter - 屬性的值不可接受的類型:屬性
- 18. 屬性接受模型表達式的屬性
- 19. 可以接受屬性驗證嗎?
- 20. 我可以在輸入接受屬性
- 21. XMLHttpRequest的responseType屬性接受多個值
- 22. 是否可以在App Engine模型中動態命名屬性?
- 23. 即使模型無效,我是否可以更新屬性?
- 24. 加載後是否可以觀察模型屬性?
- 25. 在HTML中有多餘的語言屬性可以接受嗎?
- 26. 在JSON對象中包含多個鍵是否可以接受
- 27. 在html頁面中有多個ID是否可以接受?
- 28. UIHint屬性可以接受當前類的屬性嗎?
- 29. ABAddressBookRef是屬性的可接受類型嗎?
- 30. JSDOC:是否可以鏈接到模塊屬性?
我應該使用mappedLongForeignKeys嗎? –
您是否一般問如何使用Lift來做到這一點,或者您是否使用了像[Mapper](https://www.assembla.com/wiki/show/liftweb/Mapper)這樣的特定技術,您需要幫助? – jcern
我想知道如何在電梯中做這種事。我對這個框架很陌生。 –