Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 名称空间资源(Rails)的参数_Ruby On Rails_Routes_Namespaces_Params - Fatal编程技术网

Ruby on rails 名称空间资源(Rails)的参数

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/

有人能告诉我如何生成params对象的名称吗

我只是在提交表单后花了太长时间试图访问params[:venture\u search],结果发现我需要引用params[:search\u venture\u search],可能是因为我已将venture\u search资源组织到“search”文件夹中和/或因为前面的“search”我在路由中指定的URL中的目录

这背后的逻辑是什么

路线:

  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”}