Ruby on Rails Thursday, June 30, 2016

Hi, I have a very beginners understanding of rails and ruby and I keep
getting stuck. Some previous posts have helped me a great deal but I now
have a different issue and so I thought I should start another post with
a different topic.

I am making an appointment booking app and I have a very basic design. I
have created an appointments scaffold with name:string phone:string
email:string numpeople:integer date:date timeslot:string. On the view
for creating a new appointment I have stated that appointment 1 is
9-11am, appointment 2 is 12-2pm, appointment 3 is 3-5pm and appointment
4 is 5 - 7pm. The user is asked to enter 1,2,3 or 4.

When the user clicks on "make appointment" I'm trying to interrupt the
appointments controller (create method) so that I can check if the date
&& timeslot are nil. if that is the case, the system should continue on
to create the appointment, if not then I want to redirect to somewhere
else. I have created a method called isValid? in the model (See below)

I think the method is correct as the system is getting as far as the
redirect. The problem is, it keeps redirecting to the page I told it to
go to if it's not saved(the homepage or root_path). (Also the
appointments are not saving).

So, there now seems to be an issue with saving the appointment data to
the database.

If anyone could give me some pointers, I would be so, so grateful!


appointments Model:
class Appointment < ActiveRecord::Base

def isValid?
taken= Appointment.where("date = ? && timeslot = ?", date,timeslot) unless taken

appointments controller:

def create
valid = @appointment =

respond_to do |format|
if valid
format.html { redirect_to new_appointment_path, notice:
'Appointment was successfully created.' }
format.json { render :show, status: :created, location:
@appointment }
format.html { redirect_to root_path, notice: 'That appointment
is not available, please choose again' } # this redirect works with no
format.js { render json: @appointment.errors, status:
:unprocessable_entity }

Posted via

You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To post to this group, send email to
To view this discussion on the web visit
For more options, visit

No comments:

Post a Comment