代码之家  ›  专栏  ›  技术社区  ›  Patricio Sard

如果没有显示,则在中未定义方法模型“”name“”url

  •  0
  • Patricio Sard  · 技术社区  · 6 年前

    我做了一个叫 api Car 模型和a cars 控制器(具有所有标准路由),但我想将我使用的每个URL移动到 应用程序编程接口 控制器并从应用程序中删除不使用的URL。如果 汽车 控制器I只使用返回所有汽车的json或返回特定汽车的json的url(例如 index show ).

    我的问题是当我使用 json.jbuilder 为了呈现汽车列表,我还想打印这些资源的URL( 显示 ),例如,如果我有端点 /api/cars.json 我用以下方法 json.jbuilder .

    视图/api/cars.json.jbuilder

    json.array!(@cars) do |car|
        json.extract! family_bond, :id, :name, :image, :description
        json.url car_url(car, format: :json)
    end
    

    但是 car_url 删除时引发错误 resource: car 从routes文件。这是显而易见的,因为 汽车网址 显示 每辆车的操作URL。

    所以我的问题是

    /api/car.json?id=1 )我可以告诉你如何使用这个标准的端点( 显示 )当我使用car_url`方法时?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Marlin Pierce    6 年前

    我不认为有一种方法可以让路径和url助手工作,而不必在路由中指定路由,就像使用其他工具将url路由到控制器一样。但是,如果你得到路线.rb要指定如何将URL路由到API,它将起作用。

    resource :car, controller: 'api'