问题标签 [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.

0 投票
3 回答
8706 浏览

ruby-on-rails-3 - Rails 3 - 嵌套资源和多态路径:可以到两个级别,但在三个级别中断

我正在尝试做一个简单的家庭团聚网站:“帖子”、“家庭”、“孩子”和“图片”。理想情况下,我希望以这种方式构建路线/关系:

在模型中,我在 和 之间设置了必要的“ ”belongs_to和“ has_many”关系。 , , 和所有都用" 定义,而图片定义为:famskidsFamskidsposts"has_many :pictures, :as => :imageablebelongs_to :imageable, :polymorphic => true

在尝试做的时候link_to "Edit"link_to "Destroy"pictures视图中我遇到了各种各样的_path问题。 polymoric_path在两个级别上都可以正常工作,即 forposts-picturesfams-pictures但它无法处理fams-kids-pictures. 我猜它不是为处理imageable对象上方的两个级别的“”对象而设计的picture。另一个问题是,在一种情况下,pictures控制器必须处理“一级”资源嵌套情况,而在另一种情况下,它必须处理“两级”情况。不知道如何解决这个问题。

根据 Ruby Guides 的指示,我尝试过的一件事是不要将资源嵌套超过一层。我这样组织它们:

由于不再保留家庭与孩子的关系,这导致了另一组路径问题。我也无法让 polymorphic_path 在所有不同的picture视图中正确运行。

所以这是我的主要问题:有谁知道 Rails 3 示例/教程,其中嵌套资源、属于/has_many 和多态关系都放在一起,尤其是在它不仅仅是最简单的两级关系的地方举例说明?(我对 Rails 还很陌生,鉴于我缺乏 Rails 历史经验,我在这些领域发现的 Rails 2 示例令人困惑。)

或者有人可以告诉我如何构造我的视图的link_to EDITandlink_to DELETE语句,以及我的控制器 中的 my ,和方法的语句吗?pictureredirect-tocreateupdatedestroypictures

谢谢!

0 投票
1 回答
5396 浏览

ruby-on-rails - Rails 3 在可选范围内使用资源进行路由

我已经像这样设置了我的版本化 API,只是为了向后兼容做了一个小的调整。在我的路线中,我有:

已经达到了使以下 URL 到达同一个地方的成功目标

我的目录结构是这样的:

在此处输入图像描述

在我看来,我看到的问题在于我的链接生成。例如,在声音显示页面上,我有一个button_to删除声音

它以以下形式生成以下网址action

此外,该delete方法不起作用,而是作为POST

有趣的部分rake routes是:

并且服务器日志显示:

我使用 JQuery 作为我的 UJS,并为 JQuery 提供了最新版本的 rails.js:




我知道这是tl;dr但我的问题是:“我需要在我的 button_to link_to 和其他视图标签中添加什么才能使 url 帮助程序为我的设置生成正确的路径? ”我已经尝试了几乎所有我能想到的组合,但是永远无法让他们最终出现在正确的地方。

0 投票
1 回答
769 浏览

ruby-on-rails - 为使用acts_as_tree的资源构建嵌套路由

你知道如何动态生成路由,例如:

我问这个问题是因为我有一个Folder充当树的模型(它有一个parent_id字段),并且它的to_param方法name通过parent_id. 所以,每个:parent_id事件:id都是name. 这是一个路径示例(带有 4 个子文件夹):

...其中第一个:parent_id(根)是“home”,而 the:id是“foobar”。

路线的另一个示例可能是(带有 1 个子文件夹):

...在哪里,如您所见,params[:parent_id] == 'home'params[:id] == 'music'

有没有一种干净的方法来编写一个漂亮的 Rails 3 路线来处理那些可能的嵌套路线?谢谢!!

0 投票
2 回答
645 浏览

ruby-on-rails-3 - Rails 3 嵌套资源变量

我有几个与我正在创建的 Transaction 对象有关的问题。

Transaction belongs_to Loan 和 Loan has_many Transactions。

因此,我设置了一个嵌套路由:

我的问题是:如何将贷款价值传递到交易的“loan_id”字段?这最好在控制器中完成还是作为表单中的 hidden_​​field 完成?嵌套路由是否创建了一种获取此变量的简单方法?

我以为这会自动完成,但是当我按原样保存时该字段为空。

任何帮助将不胜感激!

0 投票
2 回答
385 浏览

ruby-on-rails - Rails 3 - 尽管列在 rake 路由中,但嵌套路由“NoMethodError”

好的,伙计们,我有一个这样的嵌套路线:

在我的表单索引中,我有这个块:

页面在 app_form 行抛出 NoMethodError;但是我认为我正确地传递了应用程序和表单(我也尝试传递@app.id)。调用 rake 路线...路线甚至显示:

任何帮助将不胜感激!

0 投票
2 回答
269 浏览

ruby-on-rails - Rails:使用嵌套命名路由

路线.rb:

耙路线:

如何使用路线new_job_activitylog

这样做<%= new_job_activitylog %>会给出未定义的异常-使用link_to我看到的大多数示例也是如此。

0 投票
1 回答
1580 浏览

ruby-on-rails - Ruby on Rails - 带有索引/显示页面和分页的评论资源的自定义路由

我被困在一个涉及 Rails 3 路线的非常棘手的问题上,而且路线不够好,无法自己解决这个问题。我有一个只有“显示”和“索引”操作的“评论”资源。我将 Friendly ID gem 用于 slugged ID,而且我还有一个嵌套的评论资源,它允许人们对评论发表评论。

因此,到目前为止,我的索引页面路径只是“评论”,以及类似“评论/矩阵”的显示操作。到目前为止很简单。

现在首先,我在主索引页面上遇到了一些问题。我在索引页面上有 will_paginate gem,我正在缓存页面。问题是,当路径类似于 /reviews?page=2 时,缓存不起作用,而是在进行分页时我需要路径为 /reviews/2/,所以我在下面的前面添加了前面的评论资源使这项工作。

为什么要约束?因为我的“显示”资源路线不起作用,因为上面的行 - 没有数量限制 - 最终成为干扰“显示”路线的“包罗万象”。由于 show 动作的 ID 总是单词,而索引上的分页页面总是有一个数字,这就是我这样做的原因。

但事情是这样的,我不希望“显示”路线只是“评论/矩阵”。看,所有评论都按被评论的事物类型分类,所以我真的希望“显示”路径类似于“评论/电影/矩阵”或“评论/书籍/指环王” 。

我宁愿将原始评论“显示”路径用于其他类别索引页面,例如“评论/书籍”。(上述约束的另一个原因。)但我将把它留给另一个 SO 问题,因为我不想让这个问题太复杂。

所以回到上一个问题。通常我想上面的问题可以通过一个简单的“匹配”路由(使用路由通配符?)来解决,除了我们在评论资源中有那些嵌套的评论。我该如何制作像上面这样的“显示”页面,同时保留评论上的评论嵌套资源?

0 投票
2 回答
4140 浏览

ruby-on-rails - Rails 3嵌套资源编辑/更新方法 - 路由错误

我需要一些有关嵌套资源操作的帮助。我有三个嵌套资源:作业、问题和答案。我目前只是试图让编辑/更新方法适用于问题控制器。关系是这样的:Jobs has_many questions 和 Questions 属于 Jobs。

我正在对问题使用编辑操作,但出现错误:

我不知道为什么。

我目前将此代码作为我的问题控制器中的编辑和更新操作:

楷模:

路线:

我不明白的事情是:a)为什么它会将我重定向到问题索引路径,当我没有将它重定向到那里时,b)它说这不是一个有效的路线,但如果我刷新那个确切页面正确加载的 URL。

我尝试了多种选择,但我无法找出解决方案。

谢谢您的帮助。如果您需要更多信息,请告诉我。

ps 这是我的 rake 路线:https ://gist.github.com/1077134

0 投票
1 回答
455 浏览

ruby-on-rails - Rails nested routes not filtering

I have two models: Product and ProductType:

Product:

ProductType:

In my routes.rb, I have:

When I run rake routes, I see that this url exists:

The issue I'm having is that when I navigate to: http://localhost:3000/postering_locations/48/users, it will show me the single user I have that has the postering location with id 48. The issue is that it also displays all the other users as well.The same thing happens when I change the 48 to another number that is valid. I feel like it is partially working though because when I exchange it for a number that doesn't exist in the table, I receive a routing error. Any thoughts on how to make /postering_locations/48/users actually show me the users with 48 as their postering_location id?

Also, on my routes.rb, if I still want people to be able to see just /products/, where do I add the resources :products into my routes.rb?

0 投票
2 回答
353 浏览

ruby-on-rails-3 - Rails 3:命名参数路由中断link_to

我正在尝试创建一个 Rails 应用程序,将用户按组和子组划分,并为每个子组提供自定义站点。我认为最简单的方法是使用命名参数创建范围:

“rake routes”然后产生这个:

它工作得很好——除非我使用link_to:

然后它抛出这个错误

当然,第 8 行是我尝试使用 link_to 的地方。我的猜测是 link_to 忽略了范围,这是导致 current_user 被塞入 :group 参数的原因。有没有办法防止这种情况发生,或者我对整个问题的看法完全错误?