Hey thanks fo helping but I think I figured it out. I used .save! instead of just .save and it seems to be working.
On Sep 19, 6:03 pm, "Pardee, Roy" <[EMAIL PROTECTED]> wrote: > Hmmm--is this not the controller code your ltr call is posting to? > > @appointment = logged_in_user.appointments.build(params[:appointment]) > if @appointment.save > <<etc.>> > > That looks like you're trying to create a new appointment for the current > user. If you're looking to save the contents of params[:test] then shouldn't > you be doing something w/that? > > If that's not the controller code you're posting to, can you show that? I'm > guessing it's the 'array' method in your appointments_controller.rb? > > Cheers, > > -Roy > > -----Original Message----- > From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf > Of David > Sent: Friday, September 19, 2008 5:51 PM > To: Ruby on Rails: Talk > Subject: [Rails] Re: Saving to the database using link_to_remote? > > Actually, upon re-reading your post, I think you are misunderstanding what I > am trying to do. I am only passing the array through ajax, then performing a > number of functions on the array data, and then trying to save it. I don't > need any more information from the user than the data in the array. > > On Sep 19, 5:19 pm, "Pardee, Roy" <[EMAIL PROTECTED]> wrote: > > Hrmm--out of my depth here probably... But it looks like you're not > > getting an appointments hash in your params at all: > > > {"authenticity_token"=>"d6f4591942661666d16d0a11e53b1436f9dca797", > > "action"=>"array", "controller"=>"appointments", "data"=>"10"} > > > You're just getting a simple param called "data"--so if you said > > "params[:data]" in your controller code you should get back a "10". But > > this is nothing you're going to be able to .build a whole appointment out > > of. You want that parameters hash to come back looking someething like > > this: > > > {"authenticity_token"=>"d6f4591942661666d16d0a11e53b1436f9dca797", > > "action"=>"array", "controller"=>"appointments", > > "appointment"=>{"field_one"=>"some value", "field_two"=>"some other > > value"}, "data"=>"10"} > > > I'm guessing you've got a whole form here for creating an appointment, and > > you want all your inputs, plus this js-generated array of clicks? If > > that's it, and you really need to do ajax, have a look at remote_form_for. > > That's an ajaxy form-submitter. But even then you're going to have to do > > something special w/your "data" parameter--it's not going to come in as > > part of the appointment hash the way you're passing it now. > > > HTH, > > > -Roy > > > -----Original Message----- > > From: [email protected] > > [mailto:[EMAIL PROTECTED] On Behalf Of David > > Sent: Friday, September 19, 2008 4:52 PM > > To: Ruby on Rails: Talk > > Subject: [Rails] Re: Saving to the database using link_to_remote? > > > The problem is that I don't think I can pass the javascript array with just > > link_to, I think it needs to be a javascript request. This is the call I > > am using to save to the database: > > > @appointment = logged_in_user.appointments.build(params[:appointment]) > > if @appointment.save > > flash[:notice] = "Availability saved" > > else > > flash[:error] = "There was a problem creating the appointment." > > end > > > where params[:appointment] is the appropriate hash. I know it is not > > saving b/c it displays the error and nothing is changed in the actual > > database. > > > This is the excerpt from the development.log: > > > Processing AppointmentsController#array (for 127.0.0.1 at 2008-09-19 > > 16:50:20) [POST] > > Session ID: > > BAh7CDoMY3NyZl9pZCIlZWZjMGJlN2RkN2Y0YmNkNWM1OGJkOTUyMjA2MjJl > > %0AZjkiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh > > %0Ac2h7BjoLbm90aWNlMAY6CkB1c2VkewY7B1Q6CXVzZXJpBg%3D > > %3D--364263bf2727a15d868a5e7438b049fccd17c21d > > Parameters: > > {"authenticity_token"=>"d6f4591942661666d16d0a11e53b1436f9dca797", > > "action"=>"array", "controller"=>"appointments", "data"=>"10"} Asked for a > > remote server ? true, ENV["FERRET_USE_LOCAL_INDEX"] is nil, looks like we > > are not the server Will use local index. > > using index in C:/InstantRails-2.0-win/rails_apps/clean/index/ > > development/user > > default field list: ["username", "has_photo"] > > [4;35;1mUser Columns (0.004000) [0m [0mSHOW FIELDS FROM > > `users` [0m > > [4;36;1mUser Load (0.001000) [0m [0;1mSELECT * FROM `users` > > WHERE (`users`.`id` = 1) [0m > > [4;35;1mAppointment Columns (0.004000) [0m [0mSHOW FIELDS FROM > > `appointments` [0m > > [4;36;1mSQL (0.000000) [0m [0;1mBEGIN [0m > > [4;35;1mSQL (0.000000) [0m [0mCOMMIT [0m > > Rendering appointments/array > > Completed in 0.07400 (13 reqs/sec) | Rendering: 0.00700 (9%) | DB: > > 0.00900 (12%) | 200 OK [http://localhost/appointments/array] > > > Thanks, Dave > > > On Sep 19, 3:49 pm, "Pardee, Roy" <[EMAIL PROTECTED]> wrote: > > > I think if you want to redirect, you need to do a plain request--that is, > > > drop the ajax & just do link_to. > > > > But you should be able to save to the db from an ajax request. What are > > > you doing to save to the db & how do you know it's not working? If > > > there's an error, what is it? > > > > -----Original Message----- > > > From: [email protected] > > > [mailto:[EMAIL PROTECTED] On Behalf Of David > > > Sent: Friday, September 19, 2008 3:19 PM > > > To: Ruby on Rails: Talk > > > Subject: [Rails] Saving to the database using link_to_remote? > > > > I am attempting to save a javascript array that has collected clicks > > > from the user into the database using link_to_remote. I am new to > > > ajax, so I do not know all the details but I have been told that in > > > order to get the javascript array from the client side to the server > > > side I must make an ajax request. The ajax helper I am using is > > > link_to_remote: > > > > <%= link_to_remote 'Click me', :url => {:action => "array"}, :with > > > => "'data='+test()"%> > > > > This works up until trying to save the array to the database. It > > > passes the array, which is the result of the javascript function > > > test() to the action array and I am able to convert to ruby. > > > However, I am unable to save anything to the database, or redirect > > > to any other action. I am wondering, firstly, Is link_to_remote > > > even the appropriate ajax helper, and if so, How can I save this > > > information to the database in the array action as seen above? > > > Thanks, Dave --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

