【问题标题】:Rails: restful resource routing with action_controller_pathRails:使用 action_controller_path 进行静态资源路由
【发布时间】:2012-05-12 22:55:26
【问题描述】:

我在我的控制器中放置了一个随机化 def,并希望通过一个安静的路由来访问它。该路线应通过以下方式访问:

<%= link_to "Randomize", random_reader_path %>

但我不知道如何让这条路由出现在 rake 路由中或在我的 routes.rb 文件中正确配置它。

random 方法会和 index 做同样的事情,只提供一个随机的页面内容@variable

目前我的阅读器控制器为

resources :reader

在我的 routes.rb 中

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 rest restful-url


    【解决方案1】:

    Add more RESTful actions!

    resources :reader do
      get 'random', on: :collection
    end
    

    不过,路线将是 random_readers_path

    【讨论】:

    • (我使用了美味的 Ruby 1.9 哈希语法;如果你在悲惨的 1.8 上,你将不得不写 get 'random', :on =&gt; :collection。)
    • 遗憾的是,即使在将您的确切代码添加到我的路线之后,我仍然有未定义的局部变量或方法“random_readers_path”。 (修改过的资源:读者,没有添加新的;))谢谢你的链接
    • 通过添加资源:readers do collection do get 'random' end end 我得到了工作路径,但是当我点击链接时,我得到未初始化的常量 ReadersController
    • 哦,哎呀。在resources 电话中使用复数名称是传统的做法,我什至不知道您使用的是reader。有什么理由吗?我想它会因此被称为random_reader_index(没有办法让reader变得更加单数);您可以在命令行上运行rake routes 以查看所有命名路由。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-06
    • 1970-01-01
    • 2014-08-29
    • 1970-01-01
    • 2011-08-20
    • 2016-11-12
    • 1970-01-01
    相关资源
    最近更新 更多