添加资源路径的自定义路径(仅适用于一个操作)

时间:2017-02-25 04:41:16

标签: ruby-on-rails routing

我有以下资源路线

  resources :listings

这将路径设置为locahost:3000/listings/new

但是我如何自定义新动作的路径(仅)以显示  locahost:3000/listings/create_your_listing

或甚至(如果可以像这样定制,则更好)

locahost:3000/owners/create_your_listing

只有资源的新动作应该像那样并且正常休息。我怎样才能实现这一目标?

1 个答案:

答案 0 :(得分:2)

首先,

<强> resources :listings, except: :new

除了listings之外,这将创建new个资源。

下,

<强> get "/owners/create_your_listing", to: "listings#new"

这将为您的new创建缺失的listing controller路线。

修改

这可能是实现自定义路径的方法:(未经测试)

scope(path_names: { new: 'create_your_listing'}) do
  resources :listing, path: 'listings'
end

Reference