Skip to content

Commit f9d5601

Browse files
committed
Show the form submission after submitting
1 parent f06801f commit f9d5601

2 files changed

Lines changed: 31 additions & 3 deletions

File tree

server/controllers/forms_controller.rb

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ def view_template
1313
end
1414

1515
class ShowPage < Phlex::HTML
16-
def initialize(form_class:)
16+
def initialize(form_class:, action:)
1717
@form_class = form_class
18-
@form = form_class.new(Example.new, action: "#")
18+
@form = form_class.new(Example.new, action: action)
1919
end
2020

2121
def view_template
@@ -47,13 +47,40 @@ def underscore(name)
4747
end
4848
end
4949

50+
class SubmitPage < Phlex::HTML
51+
def initialize(form_class:, params:, form_path:)
52+
@form_class = form_class
53+
@params = params
54+
@form_path = form_path
55+
end
56+
57+
def view_template
58+
render Layout.new(title: "#{@form_class.name_text} - Submitted") do
59+
p { a(href: @form_path) { "Back to form" } }
60+
61+
h2 { "#{@form_class.name_text} - Submitted" }
62+
63+
h3 { "Params" }
64+
pre do
65+
code { JSON.pretty_generate(@params.to_unsafe_h) }
66+
end
67+
end
68+
end
69+
end
70+
5071
def index
5172
render IndexPage.new, layout: false
5273
end
5374

5475
def show
5576
index = params[:id].to_i
5677
form_class = form_classes[index]
57-
render ShowPage.new(form_class: form_class), layout: false
78+
render ShowPage.new(form_class: form_class, action: request.path), layout: false
79+
end
80+
81+
def create
82+
index = params[:id].to_i
83+
form_class = form_classes[index]
84+
render SubmitPage.new(form_class: form_class, params: params, form_path: request.path), layout: false
5885
end
5986
end

server/rails.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ def form_classes
4444
SuperformApp.routes.draw do
4545
root to: "forms#index"
4646
get "/forms/:id" => "forms#show", as: :form
47+
post "/forms/:id" => "forms#create"
4748
end
4849

4950
def self.start(port: 3000)

0 commit comments

Comments
 (0)