Rails Capitalization/Pluralization 规则
Rails Capitalization/Pluralization Rules
在处理资源(例如用户)时,rails 应用程序的不同部分以多种方式之一引用它们,一些 capitalized/singular、一些 lowercase/plural 等。有时这似乎合乎逻辑(例如,一种方法用于多种资源与一种资源)但在其他时候它似乎是任意的......
是否有任何简单的方法来记住如何从应用程序的不同部分访问它们?
大多数时候,您需要在应用程序中访问不同的模型。而且您总是会使用首字母大写的单数名称访问它们,例如 User
、Tweet
。关于控制器,我认为您永远不会从其他控制器访问控制器。
请记住,如果使用的是原始 SQL,并且您想访问模型的 table,那将始终为复数且全部小写,例如 users
User
,tweets
Tweet
。
关于路线,他们总是通过小写词访问,并决定是单数还是复数——取决于上下文。
如果您要访问所有推文,路由方法将为 tweets_path
,如果想要一条推文,则为 tweet_path(1)
或 edit_tweet_path(1)
,其中 1
为 id
您要显示或编辑的推文。
而对于 类:在 Rails 中的任何地方,一般来说在 Ruby 中,它们总是单数的,并且是大写的。
在处理资源(例如用户)时,rails 应用程序的不同部分以多种方式之一引用它们,一些 capitalized/singular、一些 lowercase/plural 等。有时这似乎合乎逻辑(例如,一种方法用于多种资源与一种资源)但在其他时候它似乎是任意的......
是否有任何简单的方法来记住如何从应用程序的不同部分访问它们?
大多数时候,您需要在应用程序中访问不同的模型。而且您总是会使用首字母大写的单数名称访问它们,例如 User
、Tweet
。关于控制器,我认为您永远不会从其他控制器访问控制器。
请记住,如果使用的是原始 SQL,并且您想访问模型的 table,那将始终为复数且全部小写,例如 users
User
,tweets
Tweet
。
关于路线,他们总是通过小写词访问,并决定是单数还是复数——取决于上下文。
如果您要访问所有推文,路由方法将为 tweets_path
,如果想要一条推文,则为 tweet_path(1)
或 edit_tweet_path(1)
,其中 1
为 id
您要显示或编辑的推文。
而对于 类:在 Rails 中的任何地方,一般来说在 Ruby 中,它们总是单数的,并且是大写的。