我正在尝试访问一个表中所有的记录,该表名包含一个下划线。例如,如果我的模式中有一个名为trips
的表,我可以在rails控制台中使用Trip.all
。但是如果我的表名包含一个下划线(例如users_foods
),我该怎么办?
我尝试了以下选项:
Users_food.all
User_food.all
User_foods.all
etc.
以上所有方法均未能解决问题,有什么建议吗?
我正在尝试访问一个表中所有的记录,该表名包含一个下划线。例如,如果我的模式中有一个名为trips
的表,我可以在rails控制台中使用Trip.all
。但是如果我的表名包含一个下划线(例如users_foods
),我该怎么办?
我尝试了以下选项:
Users_food.all
User_food.all
User_foods.all
etc.
理解了
可以通过 UserFood
访问数据
在创建bonus_histories
表时,我遇到了同样的问题。直到我找出原因之前,任何答案都没有起作用。
我只使用了rails g migration BonusHistory
这就是问题所在。我的Rails控制台根本找不到BonusHistory,因为我没有相应的模型。
因此,我必须先回滚迁移rake db:rollback STEP=1
,然后删除迁移文件,最后执行
rails g model BonusHistory
并在迁移该表后,当我进入Rails控制台时,我可以成功查询BonusHistory.count
users_foods
的表,ActiveModel应该为您提供相应的Rails模型UsersFood
,以适应Ruby/Rails对象命名约定。请尝试一下。Users_food
或User_food
等不符合Ruby约定。