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