Hi,
I have a button which sends an ajax request, see below:
<p><%= link_to "Save", {:controller =>
''budgets'', :action => ''validate'',
:id => @budget}, :class => "button post" %></p>
The jquery js is below, i basically attach the xhr request to any link
with a class of "post" which is above. This all works fine in firefox
but not in safari or chrome.
/*
Post data via html
Use the class post in your link declaration
<%= link_to ''My link'', my_new_path(),:class =>
"post" %>
*/
jQuery.fn.postWithAjax = function() {
this.unbind(''click'', false);
this.click(function() {
$.post($(this).attr("href"), $(this).serialize(), null,
"script");
return false;
})
return this;
};
function ajaxLinks(){
$(''a.post'').postWithAjax();
}
$(document).ready(function() {
// All non-GET requests will add the authenticity token
$(document).ajaxSend(function(event, request, settings) {
if (typeof(window.AUTH_TOKEN) == "undefined") return;
// IE6 fix for http://dev.jquery.com/ticket/3155
if (settings.type == ''GET'' || settings.type ==
''get'') return;
settings.data = settings.data || "";
settings.data += (settings.data ? "&" : "") +
"authenticity_token=" + encodeURIComponent(window.AUTH_TOKEN);
});
ajaxLinks();
});
I get the following error message in the logs when trying to click the
link in safari.
[FATAL: 1105 16:32:21 #4899] /!\ FAILSAFE /!\ Fri Nov 05 16:32:21 +0000
2010
Status: 500 Internal Server Error
You have a nil object when you didn''t expect it!
You might have expected an instance of ActiveRecord::Base.
The error occurred while evaluating nil.attributes
/opt/local/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/vendor/xml-simple-1.0.11/xmlsimple.rb:708:in
`get_attributes''
/opt/local/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/vendor/xml-simple-1.0.11/xmlsimple.rb:462:in
`collapse''
/opt/local/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/core_ext/hash/conversions.rb:13:in
`xml_in_string''
/opt/local/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/core_ext/hash/conversions.rb:23:in
`xml_in_string''
/opt/local/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/core_ext/hash/conversions.rb:171:in
`from_xml''
My own personal hunch from googling around is its something to do with
the authentiaction token but nothing i have tried has fixed this.
Has anyone got any idea what is wrong?
JB
--
Posted via http://www.ruby-forum.com/.
--
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
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.