使用Rails控制台删除用户

ubi*_*que 8 ruby-on-rails-3

我想删除我的数据库中的一些用户和重复标签.有没有办法我可以使用rails控制台列出所有这些对象,以便我可以精确定位每个对象以删除它们.他们不一定是最后的条目?

Edv*_*rdM 28

假设您的模型来自ActiveRecord::Base并命名User,您可以使用rails console

pp User.all  # all users
Run Code Online (Sandbox Code Playgroud)

要么

pp User.all(:conditions => {:firstname => 'fred'}) # use hash conditions
Run Code Online (Sandbox Code Playgroud)

要么

pp User.all(:conditions => "lastname LIKE 'jenkin%'") # use custom sql conditions
Run Code Online (Sandbox Code Playgroud)

并且拥有合适的用户(例如,id 42),你可以做到

User.delete(42)
Run Code Online (Sandbox Code Playgroud)

pp代表漂亮的印刷品.另一个有时候方便的是y用Yaml格式打印东西.

  • 请注意,使用Rails 4及更高版本时,在使用任何条件时应使用其中的位置.所以最后两个查询将成为`y User.where(firstname:'fred')`和`y User.where("lastname LIKE'jenkin%'") (4认同)