问题标签 [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 回答
530 浏览

ruby-on-rails-3 - Rails 嵌套资源(多级) 类视为模块

这些是我的模型:

我在路由中将它们定义为嵌套资源

我想将控制器和视图放在与该结构匹配的目录中

一旦我在公司内部创建产品目录并尝试致电

我明白了

有人知道我在做什么错吗?

0 投票
1 回答
1512 浏览

ruby-on-rails-3 - Rails 3嵌套资源与用户(设计)结构

我对 Rails 3 有一般的结构问题,新的 routes.rb 让我有点困惑。感谢您的任何帮助或指导。

我有一个包含嵌套资源的论坛应用程序。有部分,主题和回复。routes.rb 结构如下所示:

我的部分.rb:

我的主题.rb:

我的回复.rb:

这非常有效。现在这就是我感到困惑的地方。

我使用 Devise 添加了一个用户控制器,并有一个有效的用户名登录/注销系统。我正在尝试将“current_user”与回复和主题联系起来。我想我对如何修复模型有一个好主意,但我对在 routes.rb 文件中做什么感到很困惑。

对于 user.rb,我相信我需要添加“has_many :topics”和“has_many :replies, :through => :topics”。然后在我的主题中,我需要添加“belongs_to :user”。我相信reply.rb 保持不变?

至于 routes.rb 我有点难过。如果我编辑路由并向其中添加用户,我会得到一个类似 sectionid/username/topicid/ 的路径,但我不一定需要在这样的路由中存储用户名。那么我是在部分和主题之间嵌套用户还是可以将用户排除在 routes.rb 文件之外。

0 投票
2 回答
1587 浏览

ruby-on-rails - 如何定义适用于任何模型实例的控制器函数

为 Rails 应用程序实现版本控制我希望有一个视图来显示模型的所有版本,并带有一些额外的功能,如还原等。我使用paper_trailgem 进行版本控制。

我知道我可以通过versions为每个模型编写一个控制器函数和一个视图来做到这一点,但我想一次为所有模型做这件事。这应该是可能的,因为model.versions属性的结构总是相同的。

/pages/testpage/versions理想情况下,URL 应该testpage是页面 id 的样子。

这似乎类似于 rails 中嵌套路由的概念。

然而,嵌套路由的问题是:

  • 每个型号都需要额外配置
  • testpage在不知道它是哪个模型的情况下,我无法访问该对象。我也无法找到确定模型的方法,因为提供给我的版本控制器的唯一东西是参数哈希。

我完全愿意接受可能不符合我最初想法的替代解决方案。

0 投票
2 回答
160 浏览

ruby-on-rails - Rails nested rources and routes and how to set them up in route.rb

I think I have a handle on nested routes (great url helpers, and access and much more) and nested resources in forms with accepts_nested_attributes_for but what do I use in routes as I see both:

and also

please can you tell me the difference between these.
Obviously has_many is for a one-to-many relationship. does it produce path helpers and require correct routing and for the do block what relationship does that imply, none? just path helpers (/schools/documents) and what if I want multiple resources (other than books, say documents) under schools, the first way I can add it into the do-end block but what about the second way, just two lines, one for each has_many?
Though I've read the guides and api's I don't quite get the difference/usage here and anyone that can provide a clear explanation of the distinction between the two (in the form 'a does x whereas b does y' would be great) would be much appreciated :)

Oh and of course how they relate to having the has_many in the model - so I guess these relationships can be in the model with has_many, the controller (mostly thru usage of paths) and in the view (through forms with nested attributes).

0 投票
1 回答
233 浏览

ruby-on-rails - Railstutorial.org 书,更改为嵌套路线

嗨,我一直在关注 Rails 教程一书中,创建用户和帖子以及显示帖子的提要。但是,作者从未使用过嵌套资源,这在 Rails 中似乎非常重要,我想自己探索如何使用它们。但是,当我根据 Ruby on rails 指南嵌套发布资源时,它随后会破坏我的所有表单和路径。

我不想重新开始,而是想切换到嵌套资源,并在此过程中准确了解差异是什么。任何人都可以帮助我解决这个问题吗?谢谢你的帮助。

特别是我对如何处理提要感到困惑。目前 feed_item 调用旧的 post_path。

shared/_feed_item 部分

微柱控制器

这从本章http://ruby.railstutorial.org/chapters/user-microposts#top的第 11.3.3 节开始,并在本章http://ruby.railstutorial.org/chapters/following的第 12.3 节中构建-用户#顶部

0 投票
1 回答
236 浏览

ruby-on-rails - 在创建留言板时遇到多个资源问题

我正在为我的应用程序制作一个留言板,它具有典型的三种资源来使其全部工作:论坛、主题和帖子。路由定义如下:

主题将帖子定义为嵌套资源,因为当您创建新主题时,会创建一个新帖子以启动线程。这样一切正常。但我被困在主题的“显示”页面上。在该页面上,就像任何留言板模型一样,在显示所有帖子后,底部有一个表单来添加新帖子/回复。一旦触发了帖子的创建操作,它将重定向回主题等。实现该表单是我的绊脚石。

通常我会想到这样的事情......

...只有页面返回“未定义的方法 `topic_posts_path'”错误。这并不奇怪,因为查看 rake 路由会将其作为 Posts 的创建操作返回。

想我会尝试 <%= form_for([@forum, @topic, @post]) do |f| %> 在 form_for 中,但只是返回了同样的错误。考虑到我需要给它实际的路径,我给了 <%= form_for :url => forum_topic_posts_url do |f| %> 试一试,但它也不在乎。

谷歌搜索后,大多数论坛教程都已过时,或者没有在主题页面上添加新帖子表单,只显示了我已经完成的几乎所有内容。

我能够提出的唯一另一件事是建议不要将资源嵌套三层或更多层,但没有提到“为什么”,更不用说提出合适的替代方案了。此外,上面的路由路径似乎是这种动作最合乎逻辑的路径。

那么,在这种设置中,如何让 Post 表单在 Topic Show 页面上工作呢?

0 投票
2 回答
1267 浏览

ruby-on-rails - 通过link_to传递参数时没有路由错误

错误:

No route matches {:action=>"new", :controller=>"comments", :parent_id=>1}

路线.rb:

楷模:

看法:

控制器:

通过阅读您可能已经收集到的代码,我正在尝试让ancestrygem 使用嵌套资源。我一直在使用 Ancestry gem 上的 Railscasts 剧集来指导我。感谢您阅读我的问题。

0 投票
1 回答
53 浏览

ruby-on-rails - 嵌套资源段错位

我正在尝试实现基本的社交网络功能,以允许用户添加、删除朋友、接受和拒绝好友请求。

我的用户资源如下所示:

生成这条路线user_friend DELETE /users/:user_id/friends/:id

但问题是当我访问时/users/1,生成的链接delete_user_friend_path如下所示:http://localhost:3000/users/5/friends/1

0 投票
1 回答
210 浏览

ruby-on-rails - 嵌套路由与在会话中存储当前 ID?

为我的下一个 Web 应用程序选择 Rails 3。

基本上我有一组嵌套资源。

用户 => 应用程序 => 表单

我之前花了一些时间使用会话来保存 app_id,以便我可以访问该应用程序表单。

但后来我在 Rails 3 中发现了嵌套路由......那么哪一个是最好的?我可能在 Forms 之后还有另一层,所以它会嵌套 3 或 4 次。我在阅读 Rails 指南http://weblog.jamisbuck.org/2007/2/5/nesting-resources时遇到了这个资源,并且对如何进行操作犹豫不决。

我应该将嵌套资源与 rails 一起使用,还是只开始使用会话,因为我可能有大量嵌套资源?

0 投票
1 回答
235 浏览

ruby-on-rails - Rails 3 中的用户和嵌套(但可能是独立的)“组”?

我在解决某些问题时遇到了一些麻烦。基本上,我正在开始一个新项目,该项目涉及一组组组组组组......嗯,你明白了。

无论如何,整个应用程序中唯一有点“通用”的模型是用户的概念(因为它们决定了任何人拥有什么特权)。当您拥有可以“拥有”其他组的组时,问题就出现了。例如,您可以拥有由“国家”章拥有的“州”章拥有的“城市”章等。并且,每个章都可以拥有自己的用户,然后有权访问其下的所有组.

但问题是,没有一个组可以保证被另一个组拥有(或使用),因此它们需要独立管理。我不能完全概念化处理这种性质的事情的方法。我的意思是我可能会使用某种acts_as_nested 设置,但我担心即使这样也可能会失控。此外,就组本身而言,我是否应该使用某种继承模型(鉴于它们可能会共享许多属性)?

也许我应该简单地为每个组创建一个单独的 MVC 设置——尽管仍然存在关联用户等问题。任何人都可以提供建议吗?

最好的