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

ruby-on-rails - 在嵌套资源路径中删除第二个模型名称

我使用 slugs 作为 ID,所以想要 /songs/radiohead/karma-police 之类的 URL,而不是 /artists/radiohead/songs/karma-police。

蛞蝓可以通过以下方式实现:

但是如何从标准 RESTful URL 中删除模型名称 - “歌曲”?

0 投票
1 回答
315 浏览

ruby-on-rails-3.1 - 如何将 user_id 传递给 nested_resource 模型?

我有一个带有 devise 和 cancan 的小项目设置。有用户模型、项目模型、责任模型和任务模型。项目有嵌套任务。每个项目都分配给一个或多个用户。任务模型具有名称、user_id 和 project_id。身份验证和授权按预期工作。

添加新任务(仅输入名称)时,project_id 会自动传递给模型/表(我认为这是因为路由),而不是 user_id。

我是否必须在 hidden_​​field 中传递 user_id 或者是否可以在过滤器之前设置它?

有人可以提示如何在任务控制器中设置 user_id 吗?

谢谢

更新

它似乎与之前的过滤器一起使用。这是正确的方法吗?

0 投票
1 回答
607 浏览

ruby-on-rails - 嵌套资源视图规范似乎指的是不存在的路线

Rails 3.1.0 Rspec 2

在嵌套资源的视图规范中,我是否需要在存根嵌套资源之前实例化/存根父资源?

我问这个是因为我在应用程序中引入的新嵌套资源的所有视图规范都失败了。当我手动测试嵌套资源时,它按预期工作:(这是我的编辑视图规范的样子。

这是失败的摘录:

这是我的表单部分的样子

这是我运行“rake routes”时看到的内容:

表单部分已正确匹配父资源和嵌套资源(即“ form_for [@category, @sub_category]”)。似乎它正在调用我从未指定的路线 sub_category_path 。

当要在调用表单部分的地方创建编辑/创建表单时,会出现错误。

我对为什么会发生这种情况感到非常困惑,并查阅了我通过谷歌获得的搜索结果,以获取“带有 rspec 的嵌套资源”、Yehuda Katz 的“Rails in Action 3”和 Rspec 书:(

如果有人知道我错过了什么,我很想听听你的想法。

0 投票
3 回答
4722 浏览

java - java中的字符串资源文件

用Java编程,创建资源文件以保存不同语言的应用程序消息的更好方法是什么?

如果我使用属性文件,则每次需要在代码中引用一条消息时,我都必须编写类似的内容:

是否存在使用消息和生成代码清理器的另一种形式?也许创建一个带有引用此消息的静态常量的类?

0 投票
1 回答
108 浏览

ruby-on-rails-3 - ROR 路线描述中的 DRY

我在用于不同下拉列表和分组的 json rest 应用程序中嵌套了路由组合

有没有办法更干燥地描述它?

0 投票
1 回答
887 浏览

ruby-on-rails - 带有斜线和嵌套资源的 Rails 3 路线

我在添加斜线段和嵌套路由时遇到问题。

如果我有这些路线:

我有这些网址:

如果我在 Course.rb 中更改 to_param,我会在路线中遇到一些问题:

这给了我:

到目前为止一切都很好。

我遇到的问题是看了这个http://www.miguelsanmiguel.com/2011/03/17/slug-that-slash

如何让它与嵌套资源一起使用:

课程.rb:

路由.rb

网址:

如果我这样设置课程路线很好,但注册路线被破坏了。

这里有什么提示吗?

0 投票
0 回答
451 浏览

ruby-on-rails - 使用嵌套资源进行验证

我有两个模型,租户和财产。Property有很多Tenant,Tenant属于Property。

我想编写一个验证来验证租户的存在,除非该物业是空置的。这是我的代码:

这似乎是有道理的,但我仍然可以将租户添加到已经声明为空置的房产中。我不确定您还需要查看哪些其他代码。

一如既往,感谢您的任何反馈。

编辑:我不允许发布图片,因为我是新用户,但这是我想要的内容的直观表示http://cl.ly/202r3j1c1Y1C2d2s0F1R

0 投票
3 回答
175 浏览

ruby-on-rails - 控制器同时放置旧值和新值?

topic_id当我通过 PUT 请求更改外键(在我的情况下)时,控制器似乎不知道帖子的“位置” 。

我不完全确定为什么会发生这种情况,但是在为此挣扎了几天之后,我真的需要一些见解。这个应用程序应该更新一个名为的对象post,除此之外,分配一个topic_id. 该Topic模型通过 PostsController 通过 has_many (posts) belongs_to (topic) 关系进行更新。

事实 + 对象通过控制台和浏览器创建、编辑和销毁 + 当我手动更改 topic_id 时,帖子在浏览器中可见

我怀疑我的控制器应该受到责备,但不确定。

问题

  • 为什么我的重定向不起作用?

问题示例:

  1. 考虑以下路线:localhost:3000/blog/topics/3/posts/1. 当我将此记录更新到topic_id = 1浏览器时,会返回以下异常:

    ActiveRecord::RecordNotFound in Blog::PostsController#show

    找不到 id=1 的帖子 [WHERE "posts"."topic_id" = 3]

  2. 不奇怪。但是,当我真正去路线时localhost:3000/blog/topics/1/posts/1,对象就存在了。此外,当主题更新时,posts 对象会从索引中消失——但这完全是另一回事。

  3. 我尝试通过以下方式重构我的重定向,它们都重新创建了上述相同的错误:

    • 重定向到 blog_topic_post_url([@topic,@post])..
    • 重定向到 blog_topic_post_url([@post])..
    • 重定向到 blog_topic_post_url(@post)..

当我尝试前两个redirect_to 调用路由重定向到时http://localhost:3000/blog/topics/blog/1/3/posts/3,表明该对象正在存储两个主题(1 和3)???

对象参数

以下是我的工作步骤:

控制器

form.html.erb

0 投票
1 回答
1701 浏览

ruby-on-rails - active_admin、嵌套路由和自定义视图

我刚开始玩active_admin,我有2个资源:

在 app/admin 我有auctions.rb 和 categories.rb

我的问题是:

  • 为了显示给定类别的所有拍卖,我应该怎么做才能为其生成嵌套资源?(/admin/categories/1/拍卖)
  • 在我的前端,我必须显示所有没有 admin/ 前缀的拍卖,基本上我需要这个http://local/auctions可用,我尝试在 routes.rb 中添加指令资源:auctions 但我需要生成一个新的管理员/范围之外的拍卖控制器。这是一个好方法吗?

谢谢

0 投票
1 回答
2353 浏览

ruby-on-rails - 检查嵌套资源的当前父控制器

我在用户中有一个嵌套资源:

在我的控制器操作中,我可以使用 controller.controller_name 获取当前控制器名称。因此,在用户显示操作中,controller.controller_name 返回“用户”。同样,在预订显示操作中,它返回“预订”。

但是当我是像“http://mywesite/users/:id/mutations”这样的嵌套资源路由时,我想获取嵌套资源的父控制器,在这种情况下是“用户”。有没有办法使用控制器属性或路由检查器来检索它?我不喜欢正则表达式我的网址。

我可以检查我的参数 [:user_id],但这是否容易出错?我可能有一个注册控制器,可以在其中设置 :user_id。

我想要这个父资源的原因是因为我只想在当前操作与用户有关时在我的布局中创建一个搜索表单,例如在用户控制器或用户的嵌套资源控制器中执行的所有操作.