3

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

我尝试了以下选项:

Users_food.all
User_food.all
User_foods.all 
etc.

以上所有方法均无效,有什么建议吗?

4

3 回答 3

3

想通了一个可以访问数据UserFood

于 2013-11-03T06:13:01.503 回答
0

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

类名Users_foodorUser_food等​​不符合 Ruby 约定。

于 2013-11-03T00:37:38.717 回答
0

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

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

所以我不得不先回滚迁移rake db:rollback STEP=1,然后删除迁移文件,最后做了

rails g model BonusHistory

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

于 2015-10-19T10:50:32.847 回答