问题标签 [nested-routes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails-3 - 深度嵌套的多态资源值得付出努力吗?
在我的开发过程中,我认为深度(> 1)嵌套资源不值得付出努力。
我有这样的事情:
更重要的是评论对于其他资源是多态的。我的意图是拥有看起来干净的 URL,例如 ~/first-level/34/comments、~/first-level/34/second-level/56/third-level/comments 等。
到目前为止的问题是嵌套时的多态路由只会导致悲伤。我以几个 Ryan Bates Railscast 为例。例如,如果我尝试在第一级使用 polymorphic_path 它工作正常,我得到:
但相同的代码~/first-level/34/second-level/23
失败:
undefined method 'second-level_comment_path' for #<#<Class:0x007fcc4acfbe58>:0x007fcc4ae73d08>
但是当我查看我的路线时,实际命名的路线是first-level_second-level_comment
. 我试图手动创建它second-level_comment_path
,基本上是别名,first-level_second-level_comment
但我似乎也无法让它工作。
除非有人可以在这里指出一个明显的错误,否则我倾向于这种方法(http://weblog.jamisbuck.org/2007/2/5/nesting-resources)并且只是取消嵌套这些。我有一个面包屑样式的导航来显示层次结构,这样就足够了,而且我越看它,网址就会变得有点笨拙。
ruby-on-rails - 嵌套模型的 Rails 路线
我有一个嵌套的 rails 模型:
当我打电话
它试图转到“/frontend/items”路径。
有没有办法让它转到'/items'(没有继承的'/frontend')
ruby-on-rails - 带有 Form For Gives 的嵌套资源:参数数量错误(1 代表 0)
我正在尝试为嵌套路由创建一个编辑页面。
网址类似于:http://localhost:3000/clients/2/notes/3/edit
我的路线.rb:
在我的编辑控制器中:
和我的 edit.html.erb 文件
当我这样做并加载编辑页面时,我得到以下信息:
我环顾了堆栈溢出,并且在使用嵌套路由时它们都有两个参数,这里正确的做法是什么?为什么不一样?
更新:
ruby-on-rails - 嵌套控制器/命名空间的路径助手
我有路线结构:
耙路线输出:
Admin 是一个命名空间。
脚手架生成的表单看起来像
我已更改= form_for @currency
为,= form_for admin_currencies_path(@currency)
但由于表单的操作是 /admin/currencies/new 而不是 /admin/currencies,它仍然失败。
我做错了什么?
谢谢。
ruby-on-rails-3 - 如何将嵌套资源路由到别名?
我知道不建议在嵌套路由中深入超过 1 级,但这就是我所拥有的:
有没有办法可以调用别名来使用 name_route
所以而不是使用
我会使用类似的东西
只是一个想法...
ruby-on-rails - Rails:自定义嵌套控制器操作
我想设置一个自定义嵌套控制器操作,但我无法弄清楚路由。
我不断收到以下错误
路线.rb
index.html.rb
ruby-on-rails-3 - Rails:嵌套资源路线不起作用
我定义了以下路线:
上述资源的其中一条路线(rake 路线)打印出以下内容:
new_employee_question GET /employees/:employee_id/questions/new(.:format) questions#new
但是当我这样做时= link_to 'New Question', :new_employee_question
我收到以下错误:
No route matches {:action=>"new", :controller=>"questions"}
我同时定义了所需的操作方法QuestionsController
。EmployeesController
我还在 Rails 控制台中尝试了以下操作:
Rails.application.routes.recognize_path(app.new_employee_question_path)
...这会产生以下错误:
ActionController::RoutingError: No route matches {:controller=>"questions"}
我正在使用 Rails 3.2.6
。有什么我做错了吗?
ruby-on-rails-3 - Ruby on Rails 3 嵌套路由:错误的操作路由
我有两个模型:团队和项目
路线.rb
还有两个问题!
1-根据http://guides.rubyonrails.org/routing.html,我希望得到 team/:team_id/projects/:id 路径。然而,这种情况并非如此。
耙路线
所以我必须命名路线才能让它工作
那么如何利用 rails 辅助方法而不是命名它们呢?
2- 在项目显示操作视图中,调试器为我抛出这些参数:
这很好。但是当我点击“new_team_projects_path”网址时,它会将我重定向到同一个视图,并且调试器会抛出这些参数:
它不会将我重定向到新操作,而是将“新”作为 ID!为什么?
ruby-on-rails - 短嵌套 rails 路线
我有如下路线:
somedomain.com/cities/prague/places/astronomical-clock
我知道我可以做类似的事情:
但是我能做些什么来处理短的嵌套路由呢?
IE。/布拉格/天文钟?
我可以/应该在哪里覆盖默认的 url_for 方法?
ruby-on-rails-3 - View 的测试表明嵌套资源的“无路由匹配”
我有一个Training
嵌套在模型下的devise
User
模型。
/config/routes.rb
> 耙路线
测试视图时我有以下输出:
我不会发布所有测试和所有布局文件,因为它会变得太大。相反,我将为一个视图发布测试和布局文件,并尝试将更正扩展到其他视图。
测试training#index
是
/spec/views/trainings/index.html.erb_spec.rb
/app/views/index.html.rb
它表明路由不匹配,但它们在那里。为什么会这样?!