我在Ruby on rails上做了一个API后端。
我有一个模型,称之为TestModel
。当用户创建此方法的新记录时,我想返回一个location
标题,其中包含新创建的对象的URL(即用户可以使用GET访问它的位置),所以我尝试
render json: @test_model, status: :created, location: @test_model
不幸的是,rails无法给我这个位置,因为他似乎试图调用一个方法test_model_url
,其中rails似乎被解释为对象model
的URL作为一个子对象项目test
。
我该如何正确地做到这一点?
答案 0 :(得分:0)
这与模型命名无关,但更多的是关于ruby on rails如何按照惯例工作。比照rails guide on routing(特别是第2.3部分)
这些助手中的每一个都有一个相应的_url助手(例如photos_url),它返回前缀为当前主机,端口和路径前缀的相同路径。
- >你必须正确设置路线,然后_url和_path助手才能正常工作。
您还应该坚持使用rails naming conventions,因此您的模型应该命名为TestModel
,而不是testModel
。