私は基本的に、データがajaxを使用してポスト経由でコントローラに送信されるフォームを持っています。私はそれを正しく送信していると思うが、私はコントローラでそれを使うことができない。事前にJSONデータをajax経由でrailsアクションに送信する方法
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
ありがとう:
Error: wrong number of arguments (given 1, expected 0)
MY CODE:私のようなエラーを取得しています!
これはどこから来たのですか? ---- @mail = view_context.sendMail(to、cc、subj、body) - それはチュートリアルで見ましたか? ActionMailerを使って電子メールや他の宝石を送っていますか? – trh
私は今、メール宝石を使っています...そして私はそれを使用しました。私はメール配送方法からヘルパー機能を作っていました....まあ、アクションの名前を変更するようなことはトリックでした....ありがとう返信、私は提案に開放されています! @trh –