Ruby on rails 名称空间资源(Rails)的参数
有人能告诉我如何生成params对象的名称吗 我只是在提交表单后花了太长时间试图访问params[:venture\u search],结果发现我需要引用params[:search\u venture\u search],可能是因为我已将venture\u search资源组织到“search”文件夹中和/或因为前面的“search”我在路由中指定的URL中的目录 这背后的逻辑是什么 路线:Ruby on rails 名称空间资源(Rails)的参数,ruby-on-rails,routes,namespaces,params,Ruby On Rails,Routes,Namespaces,Params,有人能告诉我如何生成params对象的名称吗 我只是在提交表单后花了太长时间试图访问params[:venture\u search],结果发现我需要引用params[:search\u venture\u search],可能是因为我已将venture\u search资源组织到“search”文件夹中和/或因为前面的“search”我在路由中指定的URL中的目录 这背后的逻辑是什么 路线: resources :venue_searches, controller: 'searches/
resources :venue_searches, controller: 'searches/venue_searches', model: 'searches/venue_search', only: [:create, :new], path: "/search/venues"
match "search/venues/show", to: "searches/venue_searches#show", as: :venue_search
干杯
get "search/venues/show", to: "search/venue_searches#show", as: :venue_search
这将生成以下路径
venue_search GET /search/venues/show(.:format) search/venue_searches#show
所以路由的名称与我访问参数时使用的名称相同?为什么呢?仅供参考,我在这些路由中没有:id,因为我没有将对象保存在数据库中,只是将参数发送到显示搜索结果的显示页面。是的,我知道将创建的路由。我已经在那条路线上发帖了。我的问题是关于参数的。顺便说一句,你的路线错了。和给出错误。通过运行命令检查
rake routes
vention_searches POST/search/vention(:format)searches/vention_searches#create{:model=>“searches/vention_search”}new_vention_search GET/search/ventions/new(:format)searches/vention#new{:model=>“searches/vention_search”}