问题标签 [rails-routing]
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 - 只有 url 中的 id 和表单编辑的 rails 路由
我的应用程序有一个Article
模型和文章的网址是这样的
在routes.rb
我已经设置
一切正常。
编辑文章时,表单不会更新,因为表单操作指向文章路径
例如,这是生成的表格
当我提交表单时,它只是进入文章显示页面。
这是我的 _form.html.erb 部分
以前有人遇到过这种问题吗?请帮忙
谢谢
ruby-on-rails - 您如何处理 Rails 2 路由中的错误格式?
如何处理 Rails 2.3 中路线中的错误格式?例如,假设您有一个要处理 html 或 json 请求的操作,但没有其他操作,您如何在允许发布用户可读错误的同时限制它?以下片段显示了一个开始:
问题是用什么代替?,我试过:
并且虽然状态代码设置得当,但文本不会被渲染(至少使用像 com 这样的格式,这是我收到的格式。
一种可能性是更改路由文件,以便只接受两种格式,但这会导致路由爆炸。(我有 4 种可接受的格式。)使用的想法
听起来不错,但不起作用——它与 xyz.comhtml 之类的内容相匹配。我很沮丧,希望我缺少一些东西。
ruby-on-rails-3 - 路由错误,来自 railstutorial.org 的 Michael Hartl 的截屏视频
我正在关注来自 railstutorial.org 的 Michael Hartl 的截屏视频。根据第 5 章,我将 config/routes.rb 更改为:
和 _footer.html.erb 到:
- <%= link_to "关于", about_path %>
- <%= link_to "联系人", contact_path %>
和 _header.html.erb 到:
我是 Ruby on Rails 的新手。我在浏览器中收到路由错误
没有路线匹配“/pages/contact”
我正在使用 ruby 1.9.2p180(2011-02-18 修订版 30909)[x86_64-linux]、rails 3.0.7 和 gem 1.6.2 请帮忙。
ruby-on-rails-3 - Railscasts #71:尝试在 post 方法中传递参数时出现路由错误
我正在使用 RSpec-2 来测试我的控制器,但我看到了奇怪的行为。基本上我做的和Railscasts #71一样
这会导致以下错误:
显然:deliverable
不应该是路由的一部分而是写入params
. 我的问题始于不确定post
调用哪种方法。
我的 Gemfile.lock 可以在这里找到。
编辑
我的 routes.rb 可以在这里找到。
ruby-on-rails - 嵌套资源段错位
我正在尝试实现基本的社交网络功能,以允许用户添加、删除朋友、接受和拒绝好友请求。
我的用户资源如下所示:
生成这条路线user_friend DELETE /users/:user_id/friends/:id
但问题是当我访问时/users/1
,生成的链接delete_user_friend_path
如下所示:http://localhost:3000/users/5/friends/1
ruby-on-rails - Heroku 上多部分表单的路由问题
这是一个非常奇怪的问题,不幸的是我无法提供大量信息,因为我什至不知道从哪里开始诊断问题。我希望有人听到神奇的声音知道该怎么做,我很乐意在必要时澄清一下。
出于某种原因,每当我使用 Chrome 在 Heroku 上提交带有文件附件的新多部分表单时,我都会在提交到默认的“索引”操作时被发送——也就是说,如果我提交了我将被发送到的页面GET 而不是 POST。
我在 Rails 中使用标准 RESTful 路由,所以我的 routes.rb 中有以下内容:
我的表格很标准:
但同样,这被视为 GET 而不是 POST 请求,所以我只是被重定向到 /documents。即使我:method => :post
在表单定义中手动指定也是如此。
真正非常奇怪的是,这只发生在 Heroku 上,而且只发生在 Chrome 上。这些表单在我使用 Chrome 的本地开发版本或使用 Safari 的 Heroku 上运行良好。
代码中的任何地方都没有发生重定向,当我检查 Heroku 日志时,它只向 /documents 报告 GET,而不是带有后续处理的 POST 可以解释这一点。
任何帮助将不胜感激。我真的不知道从哪里开始尝试解决这个问题。
更新:我正在使用 Chrome for Mac,版本 12.0.742.53 beta。
这是表单输出。
路线似乎没有任何问题,其中包括以下内容:
ruby-on-rails - Rails 3路由寻找错误的控制器
首先我在 config/route.rb 中有这条路线
然后我跑了rake routes
,路线正确生成:
问题是当我尝试从浏览器(http://localhost:3000/inbox/index)获取页面时,出现错误消息:
应用程序跟踪中没有任何内容,并且在 env 转储中生成了正确的控制器:
为什么 rails 试图打电话InboxesController
?
顺便说一句,我在同一个应用程序中有另一条路线可以完美运行:
我不知道如何隔离这个问题,请给我提示。
ruby-on-rails-3 - Rails 3 路线帮助
这可能很简单,但我无法弄清楚。
我正在尝试通过 url "/submit" 创建一条到 :submissions#new 的路由
上面的代码工作正常,但我想阻止标准的“资源”创建的“/submissions/new”URL,并且只使用“/submit”URL。我编写这两个 URL 的方式将呈现提交 #new,这是我不想要的。
当我注释掉“resources”代码行并且只使用“match”行时,它再也找不到控制器“submissions_controller”
这是错误消息:
ActionController::RoutingError 在提交#new
显示 /media/sf_admin/Projects/lolsnort/app/views/submissions/_form.html.erb 其中第 1 行提出:
没有路线匹配 {:controller=>"submissions"}
任何帮助,将不胜感激。谢谢。
ruby-on-rails-3 - 在 Rails 中忘记密码
我正在尝试在 Rails 中实现忘记密码的解决方案。我有一个表格供用户输入其注册帐户的电子邮件地址,并且我打算让邮寄者通过电子邮件向他们发送一个唯一的 URL,该 URL 将他们链接到密码重置页面。
我的config/routes.rb文件有以下路线:
当我从控制台运行rake 路由时,我得到了我想要的路径:
但!当用户点击下面代码中概述的表单上的提交按钮时:
我得到一个
没有路由匹配“/users/reset_password”
通过 ActionController 出错。
事实上,我确实为lost_password_users_path和reset_password_users_path定义了视图和控制器函数,所以我很困惑为什么会遇到这个路由错误。
我有两个问题:
- 当我明确定义了路径、方法和视图时,为什么 ActionController 会引发此错误?
- 是否有其他人在 RoR 中实施了密码重置,您能否就这种方法是否是好的做法提供任何见解?
提前致谢!
ruby-on-rails - 没有路由匹配错误 - 使用嵌套资源
我的routes.rb
文件中有以下嵌套资源
我的模型:
访问时出现以下错误: /issuer/2/certificates
No route matches {:action=>"edit", :controller=>"certificates"}
任何帮助将不胜感激..提前致谢!
编辑:我的rake routes