繁体   English   中英

Quiz模型的Rails布线

[英]Rails routing for Quiz model

因此,我四处张望,没有看到一种内置的方式来处理英语中怪异的单词。

我有一个测验模型,这意味着我有一个\\ quizes的索引动作。

resources 'quizes', only: ['index', 'new', 'show']  

我希望能够做类似的事情

quizes_path #Note this one works
quiz_path(:id) #this does not

我必须做quize_path(:id)

这是瑞克路线,请注意,路径名称是测验而不是测验。

              quizes GET    /quizes(.:format)              quizes#index
           new_quize GET    /quizes/new(.:format)          quizes#new
               quize GET    /quizes/:id(.:format)          quizes#show

这更多地是为了学习。 我知道我可以手动指定单个资源并完成。

最终的问题是,是否有一种方法可以在资源中指定它,以便它知道单个资源应删除“ es”而不是“ s”

编辑

这是基于资源的正确偏转器。 谢谢!

ActiveSupport :: Inflector.inflections(:en)做| inflect | inflect.singular / ^(quiz)es / i,'\\ 1'end

在路线定义中使用quizzes代替quizes

resources :quizzes

那么奇异的路线是:

    new_quiz GET    /quizzes/new(.:format)       quizzes#new
   edit_quiz GET    /quizzes/:id/edit(.:format)  quizzes#edit
        quiz GET    /quizzes/:id(.:format)       quizzes#show

正如@Anand的回答所说,在这种情况下,您需要正确拼写“测验”。 为了回答您的一般问题,您正在文件config/initializers/inflections.rb寻找config/initializers/inflections.rb 之前有人问过这个问题: Ruby on Rails Inflection IssueRuby on Rails:如何在Rails中明确定义复数名称和单数名称? 作为例子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM