In Rails I can use accepts_nested_attributes_for to allow a single form to create two different but related objects. Now, I'm working on a Scala Lift project and I want to do something similar. I have a User model and an Address model. I want to have a single form that creates the User and their Address. How does this work in Lift?
Can a lift form accept attributes for multiple models?
89 Views Asked by Sam Backus At
1
There are 1 best solutions below
Related Questions in SCALA
- having spring integration tcpserver to manage clients and send them messages
- psuedo TCP multicast with os.dup2() in python?
- Retrieve Data From EOC(Eithernet Over coxial) device
- Connecting a web client to a c++ server with TCP
- ECONNRESET on node.js RabbitMQ consumer in Azure
- how to respond from plain tcp client to MessagingTemplate's sendAndReceive
- Java Socket - how does the read() method know if the end of stream has been reached?
- Scala - TCP Packet frame using Akka
- Re-transmission concept in TCP
- Issues regarding multiplayer networking: input
Related Questions in LIFT
- having spring integration tcpserver to manage clients and send them messages
- psuedo TCP multicast with os.dup2() in python?
- Retrieve Data From EOC(Eithernet Over coxial) device
- Connecting a web client to a c++ server with TCP
- ECONNRESET on node.js RabbitMQ consumer in Azure
- how to respond from plain tcp client to MessagingTemplate's sendAndReceive
- Java Socket - how does the read() method know if the end of stream has been reached?
- Scala - TCP Packet frame using Akka
- Re-transmission concept in TCP
- Issues regarding multiplayer networking: input
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
In general, Lift approaches form processing by binding a handler function to each input which is called on form submission. In each of those functions, you would define the logic you need to set the appropriate fields in your model.
Using something like the example below you can instantiate your classes and then perform the appropriate action on submission. You will see this creates a
User
and anAddress
class and then sets a field on each of them. The function bound to the submit button will take care of persisting them both. Since the actions happen in a function, you can include as much logic as necessary to make your application work (data transformation, setting multiple fields, etc...). For example, in the submit logic I associate the id of theAddress
with theUser
to define how they are related.In your Snippet
In your HTML
In general, that is how you would accomplish what you are looking to do. In addition to handling everything yourself, Lift includes
Mapper
which is pretty much a database ORM. I believe that can automate a lot of the relation mapping and make the creation of some forms easier. I don't really use it myself, so I can't give you a more concrete example. But, if you decide to check that out, you can find more information on Mapper here and here.