我正在尝试访问名称中包含下划线的表的所有记录。
例如,如果我的架构中有一个名为trips
的表,我可以在rails控制台中执行Trip.all
。但是如果我的表名包含下划线(例如users_foods
)
我尝试了以下选项:
Users_food.all
User_food.all
User_foods.all
etc.
以上所有都没有用,有什么建议吗?
答案 0 :(得分:3)
想出来
可以使用UserFood
答案 1 :(得分:0)
对于名为users_foods
的表,ActiveModel应该为您提供相应的Rails模型UsersFood
,以适应Ruby / Rails对象命名约定。试试吧。
类名Users_food
或User_food
等不符合Ruby惯例。
答案 2 :(得分:0)
创建bonus_histories
表时遇到了同样的问题。在找到原因之前,没有任何答案。
我只做了rails g migration BonusHistory
这是问题所在。我的rails控制台根本找不到BonusHistory,因为我没有模型。
所以我必须首先回滚迁移rake db:rollback STEP=1
,然后删除迁移文件,最后制作
rails g model BonusHistory
迁移该表后,当我进入rails控制台时,我可以成功请求BonusHistory.count