Rails Ajax 505错误和缓存[POST:action]无效,传递错误

时间:2013-12-27 18:46:07

标签: jquery ruby-on-rails ajax

我试图通过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标签并通过我的标头发送它们,但这也没有用。

谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

我不确定但是应该在路线中使用'匹配'代替'发布'

匹配'/ cardboard / events / notify',to:'cardboard / events#notify'

相关问题