2016-04-14 20 views
1

Temelde ajax kullanarak bir kontrolöre bir kontrolöre gönderilecek bir formu var. Sanırım doğru gönderiyorum ama kontrol cihazımda kullanamıyorum. peşinajax yoluyla gönderilen JSON verilerinin bir raylara hareket ettirilmesi eylemi

Submitting the form using ajax request:

$('#compose-form').submit(function() { 
var valuesToSubmit = $(this).serialize(); 
$.ajax({ 
    type: "POST", 
    url: $(this).attr('action'), 
    data: valuesToSubmit, 
    dataType: "JSON" 
}).success(function(json){ 
    $.each(json, function (key, data) { 
     var display; 
     if(data){ 
      display = "Mail delivered sucessfully!" 
     } 
     else{ 
      display = "Mail can't be delivered right now, please try again later!" 
     } 
     $.notify({ 
       icon: 'pe-7s-science', 
       message: display 
     },{ 
       type: 'info', 
       delay: 0, 
       placement:{ 
       from: 'bottom', 
       align: 'right' 
     } 
     }); 
     }); 
}); 
return false; // prevents normal behaviour 
}); 

The action in my controller

def send 

to = params[:to] 
cc = params[:cc] 
sub = params[:sub] 
body = params[:body] 

@mail = view_context.sendMail(to, cc, subj, body) 

if @mail.deliver! 
@wapas = true 
else 
@wapas = false 
end 

redirect_to 'mail/inbox' if(@wapas) 
respond_to do |format| 
format.json { render json: @wapas.to_json } 
end 

end 

I have also defined the post path in my routes.rb

teşekkür:

Error: wrong number of arguments (given 1, expected 0)

kodum: Ben gibi bir hata alıyorum!

+0

Bu nereden geldi? ---- @mail = view_context.sendMail (to, cc, subj, body) - Bunu bir eğitimde gördünüz mü? E-posta veya başka bir mücevher göndermek için ActionMailer kullanıyor musunuz? – trh

+0

Şu anda posta gemini kullanıyorum ... ve b \ c postalama yöntemi dışında bir yardımcı işlev yaptım .... de eylemin adını değiştirmek gibi görünüyor hile yaptı .... Teşekkürler cevap, önerilere açığım! @trh –

cevap

2

send adında bir yöntem kullanmayın - ruby'nin kendisi bu adla çok temel bir yönteme sahiptir: Object#send geçersiz kılıyorsunuz ve sonra diğer iç nesneler onu çağırmaya çalışıyor ve başarısız oluyor.

+1

bunu kullanarak ve birkaç satır değiştirme istediğimi yaptı ... Teşekkürler! @smathy –

+0

Rica ederim. – smathy

İlgili konular