我试图通过ajax将数据发布到rails控制器。但我得到一个505内部服务器错误,在我的日志中我得到'缓存[POST:动作]无效,传递错误。这是我的代码。
ajax代码:
send: function(){
if (notification.isValid() === false){
return false;
}
var eventId = parseInt(window._eventId, 10),
textarea = $('.sendNotificationTextarea'),
text = textarea.val(),
token = $('meta[name="csrf-token"]').attr('content');
$.ajax({
url: '/cardboard/events/notify',
type: 'post',
data: {
text: text,
event_id: eventId,
emails: notification.getUsersEmails()
},
success: function(){
$('.flashNotify').show().fadeOut(3000);
textarea.val('');
}
});
}
我的路线:
post '/cardboard/events/notify', to: 'cardboard/events#notify'
控制器:
def notify
@event = Event.find(params[:event_id])
description = "Notification about #{event.name}: #{params[:text]}"
users = User.find_all_by_email(params[:emails])
Notification.notify(users, description)
render nothing: true, status: :ok
end
我尝试生成csrf标签并通过我的标头发送它们,但这也没有用。
谢谢你的帮助。
答案 0 :(得分:0)
我不确定但是应该在路线中使用'匹配'代替'发布'
匹配'/ cardboard / events / notify',to:'cardboard / events#notify'