首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails:分路由。没有路线匹配

Rails:分路由。没有路线匹配
EN

Stack Overflow用户
提问于 2017-09-01 11:01:04
回答 1查看 37关注 0票数 0

例如,我有自定义的CRUD路径-用于配置文件。

代码语言:javascript
复制
get '/profiles', to: 'profiles#index'
  get '/profiles/new', to: 'profiles#new', :as => 'new_profile'
  post '/profiles', to: 'profiles#create'
  get '/profiles/edit/:id', to: 'profiles#edit', :as => 'profile'
  patch '/profiles/edit/:id', to: 'profiles#update'
  get '/profiles/get_profiles', to: 'profiles#get_profiles'

它可以正常工作。但是我在配置文件技巧上做了同样的路由,在profile的关系下。ProfileSkills的路径如下

代码语言:javascript
复制
get '/profiles/:profile_id/profile_skills', to: 'profile_skills#index'
  get '/profiles/:profile_id/profile_skills/new', to: 'profile_skills#new', :as => 'new_profile_skill'
  post '/profiles/:profile_id/profile_skills', to: 'profile_skills#create'
  get '/profiles/:profile_id/profile_skills//edit/:id', to: 'profile_skills#edit', :as => 'profile_skills'
  patch '/profiles/:profile_id/profile_skills/edit/:id', to: 'profiles#update'

当我在创建新项目的路由下

代码语言:javascript
复制
http://localhost:3000/profiles/1/profile_skills/new

它抛出一个异常

代码语言:javascript
复制
No route matches {:action=>"edit", :controller=>"profile_skills", :profile_id=>"1"}, missing required keys: [:id]

关于线的形式

代码语言:javascript
复制
  <%= form_for @profile_skill do |form| %>

为什么他不明白我在“新”路线下,它在寻找“编辑”,而我在“新”下?这个问题只有在我分路线的时候才会出现。例如,在“Porfile”路由中,如果工作正常。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-01 11:18:17

在你的路线上用这个

代码语言:javascript
复制
resources :profiles do
  resources :profile_skills
end

这将为你提供这样的路线。

profiles/:profile_id/profile_skill指向profile_skill的index作用,profiles/:profile_id/profile_skill/new指向profile_skill的new作用,profiles/:profile_id/profile_skill/:profile_skill_id指向show作用profile_skill profiles/:profile_id/profile_skill/:profile_skill_id/edit指向profile_skill的edit作用

诸若此类。

要获得更多帮助,请访问Rails路由

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45998817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档