【问题标题】:server returning 302 moved on create in Rails服务器返回 302 在 Rails 中创建
【发布时间】:2012-03-12 20:29:00
【问题描述】:

我有一个 Backbone.js/Rails 应用程序,我正在尝试通过 Backbone model.save() 创建一个新对象。

服务器返回一个302 moved,但检查rails控制器,创建对象存在,我可以导航到索引,所以路由正确。

我尝试用常规 jquery .ajax 函数替换主干.js,并且都返回 302,因为我最初认为错误在主干中,但我认为这表明错误实际上在铁轨。

请求负载/参数非常简单

{"user_id":130,"message_text":"这是 302","authenticity_token":"GxN8nPf5YwS2j2HhWZxWiKej3Y72Vb5IQZ98u5Nl2gs="}

主干保存方法是

var user_message = new Myapp.Models.UserMessage({ 用户ID:用户ID, message_text: $('input[name="message"]',this.el).val() }); user_message.save({ 成功:功能(响应){ 新消息({消息:response.message}); }, 错误:函数(){ 新错误({消息:“添加消息”}); } });

【问题讨论】:

  • 正如您所指出的,“302”响应与骨干无关。您应该从控制器发布 rails 代码,以及任何相关的路由配置,这些配置会从控制器执行“重定向”。看起来您有导致此问题的授权/身份验证代码。
  • 天哪,德里克!!你到底是怎么发现这是一个授权错误。我一直在看这个 10 个小时,并没有弄明白。你说得对。请将此作为答案发布,我会给你胜利!
  • :) 很高兴我能帮上忙。正是 302 响应和响应中的authenticity_token 的组合让我想到了授权/身份验证。

标签: ruby-on-rails backbone.js http-status-code-302


【解决方案1】:

正如您所指出的,“302”响应与主干无关。看起来您有导致此问题的授权/身份验证代码。

【讨论】:

    猜你喜欢
    • 2017-06-29
    • 2021-11-18
    • 1970-01-01
    • 2019-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 2018-03-11
    相关资源
    最近更新 更多