Hello,
I would like a user to fill out a form (a long contract) and then email it to them, including the new values.
So I was leaning towards a partial or layout so I didn't have to write the contract twice. But that's where I run into problems. The only difference between the form (contract) and the email are the form tags will be replaced with their actual values. For example:
My HTML Contract <% form_for @contract, :url => { :action => "send_contract"} do |f| %> <%= f.error_messages %> <div> Lots of text that I don't want to duplicate </div> <div> <%= f.label :name, "Name: " %> <%= f.text_field :name %> </div> <div> <%= f.label :email, "Email: " %> <%= f.text_field :email %> </div> <div> Lots more text that I don't want to duplicate </div> ... <% end %>
My Email Contract <div> Lots of text that I don't want to duplicate </div> <div> <%= "Name: " %> <%= @email[:name] %> </div> <div> <%= "Email: " %> <%= @email[:name] %> </div> <div> Lots more text that I don't want to duplicate </div>
My goal: <% if params[:action] == "contract" %> <% form_for @contract, :url => { :action => "send_contract"} do |f| %> <%= f.error_messages %> <% end %> <div> Lots of text that I don't want to duplicate </div> <div> <% if params[:action] == "contract" %> <%= f.label :name, "Name: " %> <%= f.text_field :name %> <% else %> <%= "Name: " %> <%= @email[:name] %> <% end %> </div> <div> <% if params[:action] == "contract" %> <%= f.label :email, "Email: " %> <%= f.text_field :email %> <% else %> <%= "Email: " %> <%= @email[:name] %> <% end %> </div> <div> Lots more text that I don't want to duplicate </div> <% if params[:action] == "contract" %> <% end %> <% end %>
Obviously, this doesn't work. Any ideas on how to leverage the shared text while still maintaining a form? I know I could use the form_tag instead, but that wouldn't give me all the needed stuff that comes with the form_for tag.
Adam