![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
I have a site in development that I need to customer to confirm a few things before they can proceed to the payment page. I intend to present them with the relevant questions and then check that they have answered them e.g. have you read the T's & C's. Are you over 18? Are you resident in the UK etc etc. I do not need to record these necessarily. Is there a simple way of validating these in the controller and then returning the messages in the same way as Active Record would do so I can use the same form builder as the rest of the site (I do inline errors with ToolTip)? I have considered just implementing a model called "Confirmation" with a 1-1 relationship with order but I think this is a little overkill and the number of confirmations may change over time and vary. So I would need a to implement a confirmation answer model and a confirmation question model. All seems a bit complex. How about just serializing a hash as a database column with the questions as the key and the values entered? Has anyone got any good ideas? Thanks, O. |
#3
| |||
| |||
|
|
My approach on things like this has been to add the attribute to the model with attr_accessor, and then setting up whatever validations I need. E.g. attr_accessor :terms_of_service validates_acceptance_of :terms_of_service Seems to work fine (I've had issues where I've been passing such a model along a multi-action process by storing it in the session, though). (Still not sure from a business/legal sense why you wouldn't need these to be persistent attributes, however) |
|
dwh |
#4
| |||
| |||
|
|
I have a site in development that I need to customer to confirm a few things before they can proceed to the payment page. *I intend to present them with the relevant questions and then check that they have answered them e.g. have you read the T's & C's. *Are you over 18? *Are you resident in the UK etc etc. *I do not need to record these necessarily. Is there a simple way of validating these in the controller and then returning the messages in the same way as Active Record would do so I can use the same form builder as the rest of the site (I do inline errors with ToolTip)? I have considered just implementing a model called "Confirmation" with a 1-1 relationship with order but I think this is a little overkill and the number of confirmations may change over time and vary. *So I would need a to implement a confirmation answer model and a confirmation question model. *All seems a bit complex. *How about just serializing a hash as a database column with the questions as the key and the values entered? Has anyone got any good ideas? Thanks, O. --~--~---------~--~----~------------~-------~--~----~ |
#5
| |||
| |||
|
|
You would need to add an attr_accessor and validates_presence_of in your model... class Model < ActiveRecord::Base *attr_accessor :field_to_validate *validates_presence_of :field_to_validate end On Nov 5, 8:10*am, icke <owain.mcgu... (AT) gmail (DOT) com> wrote: I have a site in development that I need to customer to confirm a few things before they can proceed to the payment page. *I intend to present them with the relevant questions and then check that they have answered them e.g. have you read the T's & C's. *Are you over 18? *Are you resident in the UK etc etc. *I do not need to record these necessarily. Is there a simple way of validating these in the controller and then returning the messages in the same way as Active Record would do so I can use the same form builder as the rest of the site (I do inline errors with ToolTip)? I have considered just implementing a model called "Confirmation" with a 1-1 relationship with order but I think this is a little overkill and the number of confirmations may change over time and vary. *So I would need a to implement a confirmation answer model and a confirmation question model. *All seems a bit complex. *How about just serializing a hash as a database column with the questions as the key and the values entered? Has anyone got any good ideas? Thanks, O. --~--~---------~--~----~------------~-------~--~----~ |
#6
| |||
| |||
|
#7
| |||
| |||
|
|
Thank you all for your replies. I agree that Booleans are cheap in terms of storage but I not really want to keep adding database columns through the model as the number of questions vary over time and I do not really want to go through all of the hassle of a child table to hold them. I'm thinking of having one (persistent) attribute on the model which is a serialized hash of the questions and the answers. Any thoughts. Am I just being lazy? |
#8
| |||
| |||
|
|
As long as you don't need to query on those values ("send email to all users who haven't yet agreed to the latest T&Cs"), the serialization approach will work. (and with accepts_nested_attributes_for and fields_for, how much work is a child table, really? ;-) ) dwh icke wrote: Thank you all for your replies. I agree that Booleans are cheap in terms of storage but I not really want to keep adding database columns through the model as the number of questions vary over time and I do not really want to go through all of the hassle of a child table to hold them. I'm thinking of having one (persistent) attribute on the model which is a serialized hash of the questions and the answers. Any thoughts. Am I just being lazy? |
#9
| |||
| |||
|
|
As long as you don't need to query on those values ("send email to all users who haven't yet agreed to the latest T&Cs"), the serialization approach will work. |
|
(and with accepts_nested_attributes_for and fields_for, how much work is a child table, really? ;-) ) |
|
dwh |
![]() |
| Thread Tools | |
| Display Modes | |
| |