问题标签 [nested-resources]

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 投票
1 回答
569 浏览

ruby-on-rails - Rails - Nested Objects Deletion

I want to delete the nested object book, that is owned by a user. In the user#show page appears all the books related to that user. Besides each book there is a link to delete it. Here is my code:

routes.rb:

book_controller.rb:

And in the user#show page:

I know this is wrong, but how can I do it in order to deleted the wanted book?

0 投票
2 回答
414 浏览

ruby-on-rails - Ruby / Rails - 嵌套资源的 AJAX 分页 - 如何确定父资源?

我的模型有PostsUsersComments。用户可以在/关于帖子上发表评论。每个评论都属于一个用户和一个帖子。因此,Comment 模型有一个user_id字段和一个post_id字段。

查看 aPost时,我想通过该帖子的评论进行分页。
查看 aUser时,我想对该用户的评论进行分页。
我想使用 AJAX 进行分页(通过 Kaminari gem)。

我为两者设置了嵌套路由。

在 Post 上,被点击的 URL 是http://localhost:3000/posts/{:id}/comments?page={page_number}
On the User,被点击的 URL 是http://localhost:3000/users/{:id}/comments?page={page_number}

两个 URL 都在执行 Comments 控制器的 index 操作。

我的问题是:在index操作中,我如何确定{:id}提供的是 auser_id还是 apost_id以便我可以检索所需的评论。

0 投票
1 回答
1247 浏览

ruby-on-rails-3 - Rails 3 路由:避免深度嵌套

今天我意识到我对嵌套资源有点忘乎所以:

Rails 指南(以及我自己的想法)建议嵌套深度不应超过 1 级,因此我将其重构为:

有谁知道声明上述路线的更简洁/更简洁的方式?Google 给了我很多 Rails 2 特有的东西。

非常感谢!

0 投票
2 回答
1883 浏览

ruby-on-rails - 如何在嵌套路由中指定 url_for 的格式?

以下 link_to 语句:

将生成一个像/programs/1/program_codes/1

如果我希望 url 是/programs/1/program_codes/1.svg,如何指定要传递给的数组中的格式url_for?我搜索了 Rails API 文档并查看了几个示例,但找不到类似的内容。

0 投票
2 回答
6836 浏览

ruby-on-rails - 嵌套资源表单

我已经处理了大量的 form_for 嵌套资源问题,但找不到任何适合我的解决方案。我想是时候问一个个性化的问题了。

我有两个模型,工作和问题,工作有_许多问题和问题属于_工作。

我使用脚手架创建控制器和模型,然后将资源嵌套在 routes.rb 中。

现在我正在尝试访问“/jobs/1/questions/new”并继续获取

问题中的 NoMethodError#new

我从错误No route matches {:controller=>"questions"}开始,代码是

我知道这是错误的,所以我开始尝试其他组合,但都没有奏效。

我试过了

在一堆其他组合中,这些组合不起作用。

这是我的 rake 路线的链接: git clone https://gist.github.com/1032734

任何帮助表示赞赏,如果您需要更多信息,请告诉我,谢谢。

0 投票
1 回答
1683 浏览

ruby-on-rails - 嵌套资源的 Link_to 路由问题

我有两个模型 Jobs 和 Questions。一份工作有很多问题,而问题属于一份工作。我已经在模型中设置了资源以及路线。我在尝试链接到 questions#index 页面上问题控制器的 Show 方法时遇到问题。我的 rake 路由说路径应该是 job_question_path ,其中两个必要的 :id 是 :job_id 和 :id ,所以我尝试了:

并得到错误:

我尝试了多种其他组合,但似乎没有任何效果,我不断得到:

或某种组合。

我没有得到的部分是我可以输入 url /jobs/1/questions/1 并将我带到显示页面,所以我假设我的 questions#show 方法没问题。有关我的其余代码,请参见下文。

问题#index 视图

<% 结束 %>

问题控制器

楷模

路由.rb

有关我的 rake 路线,请参阅此https://gist.github.com/1032734

提前感谢您的帮助,我已经有一段时间了,只是无法找出解决方案。如果您需要更多信息,请告诉我。

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 投票
1 回答
1287 浏览

ruby-on-rails - 嵌套资源 3 级深

我知道出了什么问题,但在修复它时遇到了麻烦。

为了再次解释我的情况,我有 3 个要素:工作、问题和答案。所有的关系都在下面设置。扩展我之前与 Jobs > Questions 关系有关的问题,我现在在 Jobs > Questions > Answers 中添加了 Answers 关系。

所以,在我的 routes.rb 中有一个新资源,我遇到了路由错误,我正在修复它。当我进入表单 Answers#new 页面并不得不修改 form_for 脚手架并在 Answers 控制器中的Create操作上构建时,问题就出现了(您可以在下面查看我的代码)。

我能够修复这些足以在新答案页面上显示表单,但是当我单击提交时,我收到此错误:

从这个错误中,我可以看到我没有保存 job_id,我很确定这与我没有在我的答案创建操作或答案新 form_for 代码中正确调用 job_id 有关。我尝试了很多解决方案,但似乎没有任何效果。我觉得我已经接近我的创建操作,但无法做到正确。无论如何,提前感谢您的帮助,如果我没有为您提供足够的周边代码,请告诉我,我会添加它。

这个问题是这篇文章的延伸:Link_to Routing Issue With Nested Resources

PS我还添加了我的答案显示操作,因为如果我直接转到答案/ 1 / 它可以正常工作。我只是有一种感觉,如果我的创作动作是错误的,那么我的表演动作也是如此。

楷模:

答案#新表格

答案创造行动

答案显示动作

有关我最新的 rake 路线,请参阅此https://gist.github.com/1057810 。我知道我不应该嵌套超过 1 层,但这对我来说是最简单和最快的解决方案。

再次感谢!

0 投票
1 回答
507 浏览

ruby-on-rails - 嵌套资源的 Rails 3 路由错误

在我的 Rails 应用程序中,有很多游戏,每个游戏都有自己的一组排行榜。那么,将排行榜嵌套在游戏中是有道理的,因此您只能通过游戏进入排行榜。我这样设置了我的 routes.rb 文件(重要部分):

然后我更新了我的控制器,以便它可以从传入的 game_id 中获取适当的游戏,并从中获取排行榜信息。但是,我的问题来自我的观点。在本节中(从脚手架自动生成的视图):

代码中断说:

这一行,原来是错误:(我的代码中的第 19 行)

删除这条线,视图渲染得很好。因此,URL 部分已损坏,但我该如何修复它呢?奇怪的是,我在“显示”视图中有确切的“edit_game_leaderboard_path”,它工作正常......我做错了什么?

0 投票
1 回答
2006 浏览

ruby-on-rails-3 - Rails :include 不包括

我的模型:

如果我运行以下查询,emails则会按预期返回:

但是,尝试:include建立关系不会:

如您所见,正在执行 SQL,但没有返回电子邮件。我打算返回所有包含每个包含电子邮件的联系人,所以:joins不会有任何好处。我错过了什么?