问题标签 [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 - 基本 Rails 3 路由问题
我正在尝试在我正在处理的 Rails3 应用程序中创建一些干净的 URL……但我很难理解如何(或者如果我什至应该)自定义我的路由以使其工作。
这是示例:
我有一个商店列表。每个商店都属于一个类别(健康、运动等)。每个商店都有一个位置。
我有两种方式来呈现数据。一个显示是目录类型结构中所有商店的列表,另一个显示在地图上。
理想情况下,我希望我的 URL 可以像这样工作:
/stores/health/map(或/stores/map/health)仅在地图上显示健康存储(本质上,地图参数影响显示哪个视图,但仍使用索引控制器......使用集合在我的路线中似乎不适合)
我想要的另一个 URL 是 /stores/sports/ 以仅在目录视图(默认)中显示体育用品商店...
我不完全清楚如何操纵路线来处理这个......
这是我当前的路线,它并没有真正为我做这件事:
最重要的是,我希望能够在不使用 ?query=params... 的情况下添加过滤器,所以:
/stores/sports/hockey ,基本上只会过滤掉曲棍球商店......
使用 ?query 执行此操作没有任何问题,它只是将我的参数放入我想要实现的更好的 URL 中。
该文档似乎没有概述我正在尝试做的事情,所以我假设我尝试做的事情是错误的。
这是破坏 REST 吗?我是在向后看吗?
谢谢你的帮助,JD
ruby-on-rails - 带有长类名的 Rails 路由错误
我对 Rails 的多元化和骆驼化感到困惑。尤其是我长而清晰的名字。
我有一个User
模型和一个Account
模型。我还有一个user_to_account_log_history
模型和控制器,用于保存两者之间的传输。关系已建立。
我跑了...
...创建了以下内容:
我的路线似乎就位(rake routes
输出,截断):
但我得到一个uninitialized constant UsertoaccountloghistoriesController
. 为什么?我感觉是长名字的驼峰式和复数化把事情搞砸了。
ruby-on-rails-3 - Rails POST 表单到漂亮的 URL
有一个“我显然做错了什么”的时刻。感觉就像我正在尝试做一些基本的事情,并与框架作斗争,所以我正在寻求帮助!
我正在使用 Rails 3,对如何制作一个搜索表单以产生具有干净 URL 的页面有点困惑。
我的应用程序允许您搜索从任何位置到另一个位置的路线。
例如,有效的 URL 是 /routes/A/to/B/,或 /routes/B
我的路线.rb:
我的搜索表格:
控制器:
当我:method => 'get'
在我form_tag
的 中使用时,应用程序可以工作,但 URL 很可怕。而且,当然,使用:method => 'post'
,变量不再可见,这对书签不利。发布表单后如何告诉 Rails 使用我漂亮的 URL?
我是 Rails 的新手,非常感谢您的耐心等待。
ruby-on-rails - Rails 3 路由到错误的控制器
我想创建一个新动作,我称之为“showemployees”。这就是我已经做的:
-> 在控制器中:
-> 创建 app/views/employees/showemployees.html.erb
-> 在配置/路由中
match "/employees/showemployees" => "employees#showemployees"
我认为现在通过localhost:3000/employees/showemployees打开 showemployees.html.erb 就足够了,但似乎 Rails 仍然通过 show 操作(来自资源:employees)进行路由并且不采取 showemployees-action,因为它告诉我
我需要更改什么才能让 Rails 采取 showemployees-action?
我的路线的源代码:
ruby-on-rails - Rails 3:检查 rails 代码中的路由错误
我的网站上有很多课程。我有一个“去课程”表格。当用户输入有效的课程名称时,我成功地将该用户重定向到该课程页面。
这适用于所有有效输入,即如果路由存在。当用户输入无效的课程名称会导致无效的路线时,我想处理错误情况。我想检查代码中的路由错误,并通过错误消息通知用户。这可能吗?”
ruby-on-rails - 关于路由的问题
我想阅读我的表的所有记录。这是我的代码
控制器:
看法:
和路由文件:
正如我对 CRUD 的理解,我应该只写资源:vorlesungs。但是如果没有match 'vorlesungs' =>'vorlesungs#list',我的代码将无法工作,请有人告诉我这个原因吗?
ruby-on-rails - 更新 rails 2 路由到 rails 3
嗨,我被一些铁轨路由困住了,
这在 rails 3 路由中应该如何看?:
ruby-on-rails-3 - Rails 3 命名空间路由错误 - 路由存在但不工作
这已得到修复。我想当我从我写的另一个视图复制它时,我已经离开了 :method => 放入表单助手。虚惊。
我的 rails 3 应用程序中有一条路线显示在“rake routes”中,但最终引发了 no route matches 错误。
我正在尝试创建一个命名空间路由,用于在 current_user 管理的公司下创建和添加新用户。命名空间是“公司”。应该处理此操作的控制器是“users_controller”,它位于 controllers->company 文件夹内。
我的 routes.rb 文件包含以下代码:
我的 app->controllers->company 文件夹下的 users_controller.rb 包含以下代码:
app->views->company->users->create.html.erb 下的 create 操作的视图包含:
最后,当我运行“rake routes”命令时,我得到了这个:
“新”动作渲染得很好。提交表单后我收到的错误是:
我正在使用设计 gem 进行身份验证,如果需要,可以提供有关我的应用程序的更多详细信息。到目前为止,我添加的所有其他内容都很好。我猜这与我如何定义命名空间有关。我对 Rails 还是很陌生,这是我第一次尝试命名空间路由。
如果我提供的信息太多或太少,我深表歉意。任何帮助是极大的赞赏。
ruby-on-rails - 没有路线匹配范围内的资源
rails new example
rails g scaffold widget
rake db:migrate
- 编辑 routes.rb 如下:
scope ":year" do resources :widgets end
curl http://0.0.0.0:3000/2011/widgets
是成功的echo "Widget.new.save" | rails c
curl http://0.0.0.0:3000/2011/widgets/1
是成功的- 但现在失败并出现以下错误:
curl http://0.0.0.0:3000/2011/widgets
No route matches {:action=>"show", :controller=>"widgets", :year=>#<Widget id: 1
.. ETC。
为什么它认为这个动作是“表演”?为什么它认为年份是一个小部件实例?很奇怪。我在 rails 3.0.9 和 3.1.0.rc6 中得到了相同的结果。
在此先感谢您的帮助。
ruby-on-rails - 带有可选参数的路由
我在路由文件中添加:
我还补充说:
显示最新的书籍而不指定年份。
但它不起作用,如果我没有通过一年,它在“show_book/NAME”中找不到路线。
你有什么想法为什么它不起作用?
谢谢 !
PS。我知道我可以将年份用作“?year=XXXX”的参数,但我想将年份用作 URL 的一部分