如果表的名称中包含_,则如何从rails控制台访问表

时间:2013-11-03 00:22:40

标签: ruby-on-rails

我正在尝试访问名称中包含下划线的表的所有记录。 例如,如果我的架构中有一个名为trips的表,我可以在rails控制台中执行Trip.all。但是如果我的表名包含下划线(例如users_foods

,该怎么办?

我尝试了以下选项:

Users_food.all
User_food.all
User_foods.all 
etc.

以上所有都没有用,有什么建议吗?

3 个答案:

答案 0 :(得分:3)

想出来 可以使用UserFood

访问数据

答案 1 :(得分:0)

对于名为users_foods的表,ActiveModel应该为您提供相应的Rails模型UsersFood,以适应Ruby / Rails对象命名约定。试试吧。

类名Users_foodUser_food等不符合Ruby惯例。

答案 2 :(得分:0)

创建bonus_histories表时遇到了同样的问题。在找到原因之前,没有任何答案。

我只做了rails g migration BonusHistory
这是问题所在。我的rails控制台根本找不到BonusHistory,因为我没有模型。

所以我必须首先回滚迁移rake db:rollback STEP=1,然后删除迁移文件,最后制作

rails g model BonusHistory

迁移该表后,当我进入rails控制台时,我可以成功请求BonusHistory.count