【发布时间】:2021-12-21 06:30:48
【问题描述】:
有没有办法在 Ruby on Rails routes.rb 中通过编写 resources 来定义不带“/new”的新操作路径?
我想将/p/e/:article_id 的页面定义为popular/contacts#new 操作。
然后,我在下面写了。
namespace :popular, path: 'p' do
resources :contacts, only: [:new], path: 'e/:article_id'
end
但是,上面的结果是这样的。
new_popular_contact GET /p/e/:article_id/new(.:format) popular/contacts#new
如果可能的话,我想使用resources,但是我是否只能使用get而不是resources?
namespace :popular, path: 'p' do
get '/e/:article_id' => 'contacts#new'
end
谢谢
【问题讨论】:
-
@DaveNewton 再看一遍——ID是文章的,不是联系人的。
-
@TomLord 啊,对——完全误读了。
-
你找错树了。而不是将
e/:article_id路由到新操作,您实际上应该在显示操作上放置一个表单。当然它是可能的,但它是一个简单问题的古怪而令人惊讶的解决方案。new操作仅作为显示表单的一种方式存在 - 如果您在显示操作上有一个表单,则不需要。
标签: ruby-on-rails ruby ruby-on-rails-5