问题标签 [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 - 索引中的嵌套资源链接不起作用
好的,所以我有一个帖子索引,并希望将其链接到我的幻灯片索引,但由于某种原因,我不断收到此错误
当我与此链接时
如果我在我的帖子编辑查看器中使用上面相同的链接,它似乎工作正常....有什么建议吗?
我基本上想从我的帖子中的表格链接到这个....../posts/:id/slides
路线.RB
后模型
幻灯片模型
发布索引视图
后控制器
滑轨控制器
ruby-on-rails - 没有模块前缀路由路径的 Rails 命名范围模型对象
我对 Rails 路由器和表单生成器有一点问题。我的应用程序具有模型和控制器的命名空间模块。模块用于更容易抽象到另一个项目。
我使用routes.rb
范围内的方法而不是命名空间,因为我没有“丑陋”的路径助手。
看起来像:
问题是当我想编辑分类(url:)时taxonomies/1/edit
出现错误:
因为我的路线只是taxonomy_path
有什么方法form_for @taxonomy
可以识别该路线的范围?不使用form_for @taxonomy, url: taxonomy_path(@taxonomy)
是不能治愈的。因为控制器方法中的@taxonomy 对象respond_with @taxonomy
总是引用到taxonomy_taxonomy_url
我的模型:
和控制器:
ruby-on-rails - 更正 Rails 中的无效资源路由
在 Rails 中使用嵌套资源路由时我注意到的一件事是,从技术上讲,用户可以访问子资源存在的路由(因此可以正确显示),但是父资源的 id 表示一个对象实际上与子资源无关。
例如,在路由users/:user_id/post/:id
中,用户可以输入一个路由,其中:user_id
表示没有发布对应于 的帖子的用户:id
。
解决此问题的最佳方法是什么,以便如果用户访问无效的 URL,服务器会将用户重定向到正确的 URL?
我已经在我的控制器中放置了一些代码来处理这个问题,但是必须检查每个控制器操作中的路径然后将用户重定向到适当的 url,这有点尴尬,特别是因为每个操作的 URL 帮助程序都不同。
( edit_user_post_path(@user, @post)
, new_user_post_path(@user, @post)
)
必须有更好的方法,对吧?
ruby-on-rails - 无法处理嵌套资源
我有这样的问题:我不需要嵌套所有资源,因为我只需要两个动作。
首先 - 显示与 1 个网站相关的所有报告。
第二 - 显示所有报告。
当我像这样重写 routes.rb 中的代码时:
这是我的行动:
视图代码:
但是当我调用它时,我得到了错误:
我做错了什么?
ruby-on-rails - 嵌套资源和限制创建的路由 :only 和 :except
大家好,
有人可以帮助我使用嵌套资源及其最佳实践。
我想将我的:events
路线限制为只有:show
and :index
,这是正确的做法吗?
这是最好的方式还是更多 Rubyist 处理此类事情的方式?我已经添加了两行,resources :events
或者有没有办法将它们全部组合在一个块中?
提前致谢。
ruby-on-rails-3 - Backbone.js + Rails 3 urls 和带有嵌套路由的集合
我正在尝试使用 Rails 和 Backbone.js 创建一个新应用程序,但是有很多嵌套关系使它变得相当困难。
在 Rails 方面,我使用成分和过敏原之间的 HABTM 关系。我正在尝试获取与一系列过敏原相关的成分。计划是使用数组查询 Allergens 表,获取它们的 id,然后根据 AllergensIngredients 表查询它以获取成分 id。
路由嵌套如下:
网址为“/ingredients/:ingredient_id/allergens”。它非常适合 Rails。在 Backbone 方面,我尝试使用 Collections 来获取带有 url '/allergens' 的过敏原,但根据我的 Rails 路由(路由'/allergens' 不存在),这被拒绝了。所以,我resources :allergens
在我的嵌套路由下添加了一个独立的路由。这为 Backbone 创建了一条可识别的路线,但我的 Rails allergens_controller.rb 仍然存在问题:
因为没有 id 就无法找到 @ingredient。我尝试过使用 Backbone.sync 和 $.get,但它们仍然需要一个 url,它最终会通过 rails 控制器。如何使用 Backbone 只查询数据库中的单个表,而不受 Rails 或 url 的任何干扰?非常感谢你的帮助!
ruby-on-rails - Form_For 未定义的方法路径
我正在尝试嵌套资源:
我的路线:
我能够获得用于对话的回复表单,但现在我增加了获取评论以处理回复的额外复杂性。
整个表格都在对话显示路径下。
上面的回复表单可以正常工作并且没有错误,下面的评论表单会出错:
未定义的方法“reply_comments_path”
这是我的对话控制器,这是我认为问题所在:
但是,其他人建议这样做:
但它只是以一个路由错误结束:
当我尝试制作新表单时,我总是会遇到这个未定义的方法路径错误,而且我总是设法忘记我做错了什么。答案似乎从来都不是路线。
编辑:
在控制器的创建部分下,我有:
我不知道为什么 @reply = @conversation.replies.build 会破坏显示现有回复的能力。我收到一条错误消息,说它无法将 nil 转换为数字,并且看不到 reply.created_at 或 reply.content。无论是什么原因,这都可能是我为什么会遇到这个问题的线索。但是,在我正在使用的回复控制器中
编辑:
补充一下,Stackoverflow 的功能与我在这里想要实现的非常相似,只是您可以对问题和答案发表评论。
ruby-on-rails - Rails 3 中的路由错误
我的视图(index.html.erb)代码中有以下内容:
目标是让每个项目的概要显示在墓碑 DIV 中,并使整个 DIV 充当项目详细信息页面 (show.html.erb) 的链接。
我的控制器具有以下内容:
并且路线具有以下内容:
@project
指向项目 (index.html.erb) 页面,而<%= link_to %>
不是控制器定义的项目详细信息页面 (show.html.erb)。我只能猜测 ID 参数没有被传递,但我不知道为什么。
ruby-on-rails - 嵌套路由且无路由匹配
我有三个资源-users
和。我只是嵌套在下面并相应地更新了我的链接,但是我从 rspec 收到两个错误,这对我来说完全是个谜。在我嵌套路线之前一切正常。lists
items
lists
users
我是 Rails 的新手,非常感谢任何帮助!
路线.rb
用户.rb
列表.rb
项目.rb
更新
user_pages_spec.rb
更新 2
users_controller.rb
jquery - 使用 ajax 的 Rails 嵌套路由
假设我有一个这样的 URL:
但是我正在通过 :remote => true 链接将阶段#show 操作加载到我的项目#show 视图中的 div 中。
我希望用户能够访问http://domain.com/projects/14/phases/30
并让 projects#show 视图渲染并将阶段/30 的视图自动加载到指定的 div 中。
我只需要朝着正确的方向轻推。我在网上找不到有关此问题的任何信息。
谢谢!