如何获取在Rails中创建Supabase记录的ID?
问题解决思路
检查请求格式:
Supabase REST API要求请求体为JSON格式,需确保请求头包含Content-Type: application/json,同时将请求体转为JSON字符串。修改代码如下:def create_job(project_id, type) headers = headers.merge({ "Content-Type" => "application/json" }) output = HTTParty.post( "#{@base_url}/openai_jobs", headers: headers, body: body_job(project_id, type).to_json ) # 解析响应获取创建的对象 output.parsed_response end移除无效查询参数:
POST请求创建记录时,Supabase默认会返回刚创建的完整对象,URL后无需添加?select=*——这个参数仅用于GET请求过滤字段,加到POST请求中可能导致异常。确认权限配置:
确保Rails使用的Supabase API密钥拥有对应表的INSERT和SELECT权限,否则即使创建记录成功,也无法返回创建的对象。正确处理响应:
HTTParty返回的响应对象需要调用parsed_response才能获取JSON格式的结果,直接使用output拿到的只是响应实例,并非实际创建的对象数据。
内容的提问来源于stack exchange,提问作者Mark Denn
相关产品推荐
相关产品推荐

