问题标签 [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.
ruby-on-rails - 使用嵌套资源干燥 Rails 视图
如果您有一个既非嵌套又嵌套的模型,例如产品,您对问题的解决方案是什么:
一个“产品”可以属于_说一个“事件”,一个产品也可以是独立的。
这意味着我可以有这样的路线:
您如何正确处理您的观点?
注意:这是一个管理面板。我希望能够有一个“创建活动”页面,其中有一个用于创建票证(产品)、表格和检查谁被回复的侧面板。因此,您将单击“活动门票”侧面板按钮,然后您将转到/events/my-new-event/tickets
. 但管理面板还有一个根“产品”选项卡,可以列出门票和其他随机产品。“门票”和“产品”视图看起来 90% 相同,但门票将包含有关其所属活动的一些信息。
看来我必须有这样的观点:
- 产品/index.haml
- 产品/show.haml
- 事件/产品/index.haml
- 事件/产品/show.haml
但这似乎并不干燥。或者我可以有条件检查产品是否有一个事件(@product.event.nil?
),但是这样视图就很难理解了。
你如何处理这些情况?
非常感谢。
ruby-on-rails - 嵌套资源测试 RSpec
我有两个模型:
使用以下路由:
这是解决方案控制器:
任何人都可以帮助我为索引操作编写测试吗?到目前为止,我已经尝试了以下方法,但它不起作用:
我收到以下错误:
提前感谢所有帮助。
乔
编辑:
感谢您的回答,我接受了它,因为它让我走得更远,除了我遇到另一个错误,我无法弄清楚它试图告诉我什么:
创建解决方案而不是构建解决方案并添加 User.find 的存根后,我会看到以下错误:
ruby-on-rails - RSpec,存根嵌套资源方法
我有两个模型:
我在用户中嵌套解决方案,如下所示:
最后是我要指定的操作:
我的问题是,我该怎么做 Spec @user.solutions.find(params[:id])
?
这是我目前的规格:
但这让我得到以下错误:
任何人都可以帮助我如何存根@user.solutions.new(params[:id])
吗?
ruby-on-rails - 带有子资源的 Rails “NoMethodError”
我是一名新手 Rails 开发人员,在尝试访问我的 CityController 上的“新”操作时遇到以下错误:
作为一些背景,我有一个包含许多城市的州模型。单击来自状态显示页面的以下链接后,我收到此错误:
当我运行“rake:routes”时,它说这是一条合法的路线......
更多背景信息,这里是 CityController 'new' 动作:
这是视图中的(完整)表单:
这最初让我认为这是一个资源/路线问题,因为它提到了“cities_path”(事实上,这是另一个发布到 Stack Overflow 的人的错误(Rails 错误“NoMethodError” - 我的第一个 ruby 应用程序)。但是,从我所看到的情况来看,情况似乎并非如此。这是我的资源在路由文件中的外观:
当它们不是子资源时,我可以让它工作,但我真的需要将它们作为我未来计划使用该应用程序的子资源。任何帮助都将不胜感激,因为我为此绞尽脑汁的时间比我愿意承认的还要多……谢谢!
(完全不确定这是否重要,但我正在运行最新版本的 Rails 3 beta2)。
ruby-on-rails - 在 Rails 3 和 ActiveRelation 中发现
我正在尝试了解 Rails 3 中的新 arel 引擎,但我有一个问题。
我有两个模型,用户和任务
这是我暗示这种关系的路线:
这是我的任务控制器:
问题是,当我尝试调用新操作时出现以下错误:
我确定我的问题出在新的 arel 引擎上,有人知道我做错了什么吗?
对不起,这是我的 schema.db 文件:
ruby-on-rails - 带有嵌套资源的 Rails 嵌套表单:创建新的 has_many 时更新 belongs_to 关联
我一直在用嵌套表单的特定用例(我使用的是 Rails 2.3.5)将我的头撞到墙上。
基本上我有看起来像这样的项目和付款模型
我还在为这两个资源使用嵌套路由:
我正在尝试使用嵌套表单来允许用户在创建新付款时修改项目的某些属性。因此,如果项目有一个标题,例如,用于创建新付款的视图将如下所示:
付款控制器非常标准:
我发现在新的付款表格上,我得到了这样的结果:
(注意自动创建的#payment_project_attributes_id)
提交表单后,rails 会收到这样的信息(请记住 Project #56 已经存在):
这就是问题所在:当它通过控制器运行时,它不会将标题属性应用于支付项目。
奇怪的是,如果我删除那个"id"=>"56",项目的标题就会更新。这是使用控制台的示例:
(请注意,没有 ID 的第二个 payment.new 会导致 p.project.title 被更新)
有人有什么想法吗?
我应该注意到,我真正想做的是更复杂的一层——我正在尝试更新项目的 user_attributes (在项目上使用 belongs_to :user/accepts_nested_attributes_for :user )但我有点希望如果我能解决这个问题,就可以了。
ruby-on-rails - Rails - 有两个父母的嵌套资源
假设我有一个带有两个父模型的子模型:
路由被映射,因此 Ticket 总是嵌套在 Event 或 Person 中:
如何按父资源限定我的 ticket_Controller CRUD 操作?
现在我正在测试参数并使用条件语句:
对于每一个动作,这似乎有点乏味。有没有更多的 rails-y DRY 方法来做到这一点?
ruby-on-rails-3 - 有人对在 Rails 3 中管理多态嵌套资源有任何提示吗?
在 config/routes.rb 中:
我也想允许更多的东西被评论。
我目前正在使用mongoid(mongomapper 与 Rails 3 的兼容性还不如我想的那样),并且注释是嵌入式资源(mongoid 还不能处理多态关系资源),这意味着我确实需要父资源为了找到评论。
是否有任何优雅的方法来处理以下一些问题:
在我的控制器中,我需要先找到父级,然后才能找到评论:
如果我开始添加更多可评论的内容,这将变得一团糟。
也url_for([comment.parent, comment])
不起作用,所以我将不得不在我的Comment
模型中定义一些东西,但我认为我还需要在Comment
模型中定义一个索引路由以及可能的编辑和新路由定义。
随着我走得更远,我可能需要处理更多的问题。
我无法想象我是第一个尝试解决此问题的人,是否有任何解决方案可以使这更易于管理?
ruby-on-rails - 如何向 Rails 中的嵌套资源添加额外的休息路线
我有一个有很多链接的小部件。在路由文件中:
我想向链接添加“排序”操作。我需要在路由文件中添加什么,这样我才能写sort_widget_links_path(widget)
ruby-on-rails - Rails 3 - 嵌套资源的错误验证
我真的在为如何处理 Rails 3 中的错误处理而苦苦挣扎。我已经破解了一些可行的想法,但宁愿以正确的方式去做。如果有人可以提供帮助或提供指导,我将不胜感激。这是我到目前为止所拥有的
项目控制器
笔记控制器
项目/show.html.erb
我努力了
甚至有一个处理错误的模板
其中包含
我相信我丢失了重定向的错误,但我似乎无法完全了解如何从注释创建中的失败保存中重定向或呈现项目控制器,我希望能够将错误全局模板传递给@note 并呈现错误