@@ -202,6 +202,141 @@ <h1 class="text-4xl tracking-tight font-extrabold text-gray-900 sm:text-5xl md:t
202202 </ section >
203203 </ div >
204204
205+ < div class ="relative h-full max-w-5xl mx-auto px-4 ">
206+ < section class ="mt-16 ">
207+ < form data-controller ="nested-form ">
208+ < template data-nested-form-target ="template " data-model-template ="todo ">
209+ < div class ="mt-4 nested-form-wrapper " data-new-record ="true ">
210+ < label for ="NEW_RECORD " class ="block text-sm font-medium leading-5 text-gray-700 "> New todo</ label >
211+ < div class ="mt-1 flex relative rounded-md shadow-sm ">
212+ < input
213+ id ="NEW_RECORD "
214+ name ="user[todos_attributes][NEW_RECORD][description] "
215+ class ="appearance-none border w-full py-2 px-3 rounded-l-md text-gray-700 leading-tight focus:outline-none focus:shadow-outline "
216+ placeholder ="Your todo "
217+ />
218+
219+ < button
220+ class ="cursor-pointer inline-flex items-center px-3 rounded-r-md border border-l-0 border-gray-300 bg-gray-100 text-gray-500 sm:text-sm "
221+ type ="button "
222+ data-action ="nested-form#remove "
223+ title ="Remove todo "
224+ >
225+ X
226+ </ button >
227+
228+ < input type ="hidden " name ="user[todos_attributes][NEW_RECORD][_destroy] " />
229+ </ div >
230+ </ div >
231+ </ template >
232+
233+ < template data-nested-form-target ="template " data-model-template ="note ">
234+ < div class ="mt-4 nested-form-wrapper " data-new-record ="true ">
235+ < label for ="NEW_RECORD " class ="block text-sm font-medium leading-5 text-gray-700 "> New note</ label >
236+ < div class ="mt-1 flex relative rounded-md shadow-sm ">
237+ < input
238+ id ="NEW_RECORD "
239+ type ="text "
240+ name ="user[note_attributes][NEW_RECORD][description] "
241+ class ="appearance-none border w-full py-2 px-3 rounded-l-md text-gray-700 leading-tight focus:outline-none focus:shadow-outline "
242+ placeholder ="Your note "
243+ />
244+
245+ < button
246+ class ="cursor-pointer inline-flex items-center px-3 rounded-r-md border border-l-0 border-gray-300 bg-gray-100 text-gray-500 sm:text-sm "
247+ type ="button "
248+ data-action ="nested-form#remove "
249+ title ="Remove note "
250+ >
251+ X
252+ </ button >
253+
254+ < input type ="hidden " name ="user[note_attributes][NEW_RECORD][_destroy] " />
255+ </ div >
256+ </ div >
257+ </ template >
258+
259+ < div class ="mt-4 nested-form-wrapper " data-new-record ="false ">
260+ < label for ="todo-1 " class ="block text-sm font-medium leading-5 text-gray-700 "> Your todo</ label >
261+ < div class ="mt-1 flex relative rounded-md shadow-sm ">
262+ < input
263+ id ="todo-1 "
264+ name ="user[todos_attributes][0][description] "
265+ class ="appearance-none border w-full py-2 px-3 rounded-l-md text-gray-700 leading-tight focus:outline-none focus:shadow-outline "
266+ value ="Pet the cat "
267+ />
268+
269+ < button
270+ class ="cursor-pointer inline-flex items-center px-3 rounded-r-md border border-l-0 border-gray-300 bg-gray-100 text-gray-500 sm:text-sm "
271+ type ="button "
272+ data-action ="nested-form#remove "
273+ title ="Remove todo "
274+ >
275+ X
276+ </ button >
277+
278+ < input type ="hidden " name ="user[todos_attributes][0][_destroy] " />
279+ </ div >
280+ </ div >
281+
282+ < div id ="nested-form-target-todo " data-nested-form-target ="target " data-model-target ="todo "> </ div >
283+
284+ < button
285+ id ="nested-form-button-todo "
286+ type ="button "
287+ data-action ="nested-form#add "
288+ data-model ="todo "
289+ class ="mt-4 bg-white hover:bg-gray-100 text-gray-800 font-semibold py-2 px-4 border rounded shadow nested-form-action "
290+ >
291+ Add todo
292+ </ button >
293+
294+ < div class ="mt-4 nested-form-wrapper " data-new-record ="false ">
295+ < label for ="todo-1 " class ="block text-sm font-medium leading-5 text-gray-700 "> Your note</ label >
296+ < div class ="mt-1 flex relative rounded-md shadow-sm ">
297+ < input
298+ id ="note-1 "
299+ type ="text "
300+ name ="user[notes_attributes][0][description] "
301+ class ="appearance-none border w-full py-2 px-3 rounded-l-md text-gray-700 leading-tight focus:outline-none focus:shadow-outline "
302+ value ="Buy fancy food for cat "
303+ />
304+
305+ < button
306+ class ="cursor-pointer inline-flex items-center px-3 rounded-r-md border border-l-0 border-gray-300 bg-gray-100 text-gray-500 sm:text-sm "
307+ type ="button "
308+ data-action ="nested-form#remove "
309+ title ="Remove note "
310+ >
311+ X
312+ </ button >
313+
314+ < input type ="hidden " name ="user[notes_attributes][0][_destroy] " />
315+ </ div >
316+ </ div >
317+
318+ < div id ="nested-form-target-note " data-nested-form-target ="target " data-model-target ="note "> </ div >
319+
320+ < button
321+ id ="nested-form-button-note "
322+ type ="button "
323+ data-action ="nested-form#add "
324+ data-model ="note "
325+ class ="mt-4 bg-white hover:bg-gray-100 text-gray-800 font-semibold py-2 px-4 border rounded shadow nested-form-action "
326+ >
327+ Add note
328+ </ button >
329+
330+ < button
331+ type ="submit "
332+ class ="mt-4 bg-indigo-600 hover:bg-indigo-400 text-white font-semibold py-2 px-4 border rounded shadow "
333+ >
334+ Save
335+ </ button >
336+ </ form >
337+ </ section >
338+ </ div >
339+
205340 <!-- This example requires Tailwind CSS v2.0+ -->
206341 < footer class ="bg-white ">
207342 < div class ="max-w-7xl mx-auto py-12 px-4 overflow-hidden sm:px-6 lg:px-8 ">
0 commit comments