【问题标题】:Params for namespaced resources (Rails)命名空间资源的参数(Rails)
【发布时间】:2015-06-02 09:42:15
【问题描述】:

谁能告诉我有关如何生成 params 对象名称的信息?

我只是在提交表单后尝试访问 params[:venue_search] 的时间太长了,结果发现我需要引用 params[:searches_venue_search] 可能是因为我已将 place_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

干杯!

【问题讨论】:

    标签: ruby-on-rails routes namespaces params


    【解决方案1】:
    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
    • venue_searches POST /search/venues(.:format) search/venue_searches#create {:model=>"searches/venue_search"}
    • new_venue_search GET /search/venues/new(.:format) search/venue_searches#new {:model=>"searches/venue_search"}
    猜你喜欢
    • 2013-04-12
    • 2011-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    • 2017-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多