当前位置: 首页 > 面试题库 >

POST json到Rails服务器

白驰
2023-03-14
问题内容
def create
  req = ActiveSupport::JSON.decode(request.body)
  if user = User.authenticate(req["email"], req["password"])
    session[:user_id] = user.id
    render :json => "{\"r\": \"t\"}" + req
  else
    render :json => "{\"r\": \"f\"}"
  end
end

‘create’方法在控制器中并映射到“ / login”,我正在设置正确的内容类型并接受来自curl客户端的标头。我一直都收到422 http状态响应。

有什么建议?


问题答案:

如果您发送的是正确的标题,则不需要执行“ ActiveSupport :: JSON.decode”-rails会为您完成。

您需要在帖子中设置以下标题。

Content-Type: application/json
Accept: application/json

422表示不可处理实体-通常表示验证失败。

您应该能够拥有。如果不能,则说明标题设置不正确。

def create
  if user = User.authenticate(params["email"], params["password"])
    session[:user_id] = user.id
    render :json => "{\"r\": \"t\"}" + req
  else
    render :json => "{\"r\": \"f\"}"
  end
end


 类似资料:
  • 我试图运行rails服务器,出现了这个错误! 命令提示符上的错误消息 Gemfile 宝石'Rails','4.2.6' gem'mysql2',' 创业板“sdoc”~ 宝石'tzinfo-data',平台:[: mingw,: mswin,:x64_mingw,: jruby]

  • 谢谢你的忠告!

  • 问题内容: 我已经安装了rails和mysql。我还安装了mysql2 gem。我通过命令rails new try_cms -d mysql创建了Rails应用程序。创建成功。但是,当我尝试使用rails server命令运行WEBrick服务器时,出现以下错误。 提前致谢。 问题答案: 尝试运行此命令(在此处查看类似的问题)

  • 有很多类似的问题,但都略有不同。 Gemfile: Rails 4.2.6并在返回的命令行中执行: <code>PG::ConnectionBad(无法连接到服务器:没有这样的文件或目录。服务器在本地运行并接受Unix域套接字上的连接“/tmp/.s.PGSQL.5432”? 在启动rails服务器并尝试加载根路径之后,在浏览器中也得到了相同的结果。 我发现在命令行中执行也不起作用,返回:

  • 由于 Rails 项目对环境要求的特殊性,建议你在部署的时候直接选择 VPS 或者 独立服务器,当然也有一些专门部署 Rails 项目的虚拟空间可选择。 国内 VPS/云主机 UCloud Ruby China 目前部署在 UCloud 上。 阿里云服务器 55 元每月的最低配还是比较给力,自带 1M 带宽,CPU、内存、带宽目前均可定制,价格相对适中。 腾讯云 腾讯的云服务。 文件存储 当你的项

  • 我使用的是jetbrains的rubymine,当试图通过单击来运行rails server时,它的意思是: 运行开发时出错:HelloWorld:[SDK中找不到Rails] 我签入了,我按照预期使用,每个gems都是最新的,我不必更新它们。所以我尝试通过运行 在终端机上,我得到了一个错误列表: