问题标签 [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 投票
2 回答
243 浏览

ruby-on-rails - rails : 嵌套资源中的路由

我使用嵌套资源

/user/id改为/username

但是,如何/users/username/posts更改username/posts

0 投票
1 回答
989 浏览

ruby-on-rails - 嵌套资源的 ActiveRecord 构建

(注意:这里的源代码https://github.com/cthielen/dss-evote

我有一个简单的投票应用程序。调查是要投票的一组问题,选票是每个用户的偏好实例,而选票 has_many 偏好对于每个用户都是唯一的。这是建模:

routes.rb 只有这个:resources :surveys do resources :ballots end

/surveys/1 似乎有效,甚至 /surveys/1/ballots。/surveys/1/ballots/new 是我遇到问题的地方:

在 ballots_controller.rb 中:

(对应视图)

导致错误:

现在,似乎正在形成一个数组而不是类的正确实例,但我不知道如何正确解决这个问题。

编辑:我应该提到我试图建立@ballot.preferences 的原因是偏好代表一个人的答案,并且偏好的长度可能会因调查而异。因此,如果调查有六个问题,@ballot.survey.questions.length 将为 6,我需要创建 6 个空白的@ballot.preferences,然后将由 form_for 表示,并希望使用 RESTful Create 正确保存。

提前感谢您提供的任何帮助!

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 回答
2226 浏览

ruby-on-rails - 带有嵌套资源的 Rails form_for 循环

我有三个资源:工作、问题和答案。
这些关系是: 约伯有很多问题;问题有很多答案。

我在 Jobs 表单视图上创建了一个嵌套表单,其中包括创建工作和问题。这些都将在管理墙后面,但我希望用户通过答案表单视图上的表单来回答问题(而不是在墙后面)。

我面临的问题是我想为答案表单字段创建一个循环。

由于这是一个循环并且会有超过 1 个答案字段,因此我希望问题能够动态呈现为答案表单标签。这将反映路径,因此jobs/1/questions/1/answers/new编辑:这应该是jobs/1/answers/new)将显示 ajob_id为 1 的所有问题。

我该怎么做呢?我正在考虑在答案控制器中使用这样的新动作(我很肯定这是非常错误的):

这是我目前的答案表格:

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

0 投票
2 回答
5614 浏览

ruby-on-rails - 在其他控制器中渲染嵌套表单部分

我有三个资源:工作、问题和答案。这些关系是: 约伯有很多问题;问题有很多答案;约伯有很多答案。

我已经在作业/新视图上嵌套了所有表单。

现在,该应用程序的目标是让管理员(我们)在管理员墙后面创建工作和问题。一旦我们这样做了,我们希望列出为每个特定工作创建的问题,并让用户回答问题。这需要将答案表单放在不在管理墙后面的另一个视图(相同或不同的控制器)上。

由于表单都嵌套在作业/新视图中,我为答案表单创建了一个部分:

问题部分是:

答案部分是:

我的想法是我创建了一个部分,我将能够在应用程序中的任何地方引用它,但我一直在尝试一切,我似乎无法让它工作。

我基本上有这个设置的两个问题:

1)如何在另一个视图上自行呈现部分答案(正确的代码是什么)?2) 创建此视图的最佳位置在哪里?我最初的想法是另一个工作视图,因为它将嵌套在父资源下,但我不完全确定这是否有效。

谢谢,如果您需要更多信息或澄清,请告诉我。

0 投票
1 回答
22320 浏览

ruby-on-rails-3 - 在不更改资源名称的情况下更改 URL

我正在为兔农建立一个网站(让我们假装)。这个人密切关注着他的兔子,并希望它们都被分类。所以我为他构建了一个 RabbitCategoriesController,并将这一行添加到我的 routes.rb

URL 显示为rabbit_categories,rabbit_categoriew/new等。

如果我希望 URL 看起来像这样rabits/categories rabits/categories/new怎么办?这不是嵌套资源,我只想更改 URL 的外观。

当然,如果资源被称为“类别”,我可以这样做

有什么办法可以写,但告诉它使用 RabbitCategoriesController 而不是 Rabbits::CategoriesController?

0 投票
1 回答
103 浏览

ruby-on-rails - 公开嵌套路由的特定操作

使用此作为上下文示例: 发表 has_many 评论 Comment belongs_to post

我有一条看起来像这样的路线:

如何创建公开评论#index 的路由?

一个示例用例是......我想在页面上列出系统中的所有评论。本质上使用评论资源,就好像当用户点击/评论时它没有嵌套一样

谢谢你!

0 投票
1 回答
49 浏览

ruby-on-rails - 如何在嵌套资源的控制器中为 show 操作构建 Active Recond 查询?

我有两个模型:书籍和章节,其中书籍有很多章节。我已经设置了如下路线:

和章节控制器的代表团,动作表演工作正常。

我现在的问题是通过本书检索显示控制器中的那一章。如果查询的标识符不是主键,如何做到这一点?

谢谢!

0 投票
2 回答
1865 浏览

ruby-on-rails - 在单个 Rails 资源上组合浅层和非浅层路由

假设我有一个Magazine模型和Ad模型,这样Magazine :has_many => :ads. 我已将嵌套资源路由设置如下:

我的目标是能够访问由 Rails 资源创建的默认 CRUD 路由,以及嵌套和浅层的搜索路由。我希望用户能够在给定杂志的上下文中限制他的搜索,或者搜索所有广告而不考虑父杂志,因为有些广告没有父杂志。换句话说,我希望能够:

我担心的是视图中的路径变量依赖于new_magazine_ad_path(@magazine). 在遇到没有任何实例来引导它的助手时,不会访问像/ads/index(应该包含创建新广告的链接)这样的路线吗?new_magazine_ad_path(@magazine)@magazine


PS:通常,我会自己尝试所有这些,看看有什么效果,但我现在被上述设置卡住了——我只能进行编辑、删除、显示和更新浅层路线:

并且没有新的或索引路线:


更新

所以 Shreyas 提议创建两个控制器,一个处理嵌套的 Ad,一个处理浅层的 Ad。这是有道理的,但它让我复制所有视图代码只是为了将路径助手从 更改magazine_ad_path(@magazine)ad_path. 关于处理视图更改的 DRY'er 方法的任何想法?所有其他视图代码都是相同的。

0 投票
2 回答
1470 浏览

ruby-on-rails - Rails 3.1 has_one 嵌套资源:路由不生成“所有”路径

我有一个 has_one 关系:

以及它们的以下嵌套路由:

运行rake routes给出:

为什么 show 动作没有 name_helper?

我可以通过以下方式覆盖问题:

给出路线:

但我们现在都不是处理它的正确方法..

有什么建议么?

--

(已编辑)

确实有效,但为什么呢?rake routes...在我的外壳上执行时没有出现...