通过Rails控制台编辑数据库记录

时间:2015-05-21 03:50:45

标签: ruby-on-rails database console

示例场景:我在Rails控制台内的Mac终端上,刚刚输入以下数据库记录并在其中一个字段中拼写错误:

irb(main):019:0> Meme.create(:category => 'funny', :title => 'Balloon frihgtens cat')

问:使用Rails控制台,如何修复该记录以正确拼写" frihgtens"?

7 个答案:

答案 0 :(得分:7)

步骤1.找到记录。

步骤2.编辑记录。

假设title是唯一的,以下内容应该有效:

> m = Meme.where(:title => 'Balloon frihgtens cat').first
> m.title = 'Balloon frightens cat'
> m.save

阅读http://guides.rubyonrails.org/active_record_querying.html以了解有关使用有效记录的详情。

答案 1 :(得分:2)

rails console而不是irb

中输入以下内容
meme = Meme.find_by(:title => 'Balloon frihgtens cat')
meme.title = 'Ballon frightens cat'
meme.save

干杯

答案 2 :(得分:0)

您使用的是string(10) "05/22/2015" string(2) "AP" ,而不是irb

rails console

答:如果出现问题,您将收到错误报告。但这无法检查价值的猖獗。像这样: AppledeMac-mini-2% rails c Loading development environment (Rails 4.2.1) 2.1.6 :001 >

答案 3 :(得分:0)

  • 查找记录

    您可以使用find或where来获取记录 打开rails控制台运行命令Meme.all找到你要更新的记录,获取该记录的ID。(假设ID为5)

    @meme = Meme.find(5)或@meme = Meme.where(:title =>" Balloon frihgtens cat")

  • 更新记录

    @meme.update(:title =>" Balloon吓唬猫")

答案 4 :(得分:0)

请尝试以下代码:

meme = Meme.where(:title => 'Balloon frihgtens cat').first
meme.update_attribute(:title, 'Balloon frightens cat')

答案 5 :(得分:0)

您需要做3件事: 1查找记录:

x = Record.where(title: "whatever")

更新它:

x.title = "new title"

保存:

x.save

并且不要使用irb使用rails控制台。

答案 6 :(得分:0)

您可以使用此oneliner:

Company.update 1, name: 'Rebranded', score: 99

第一个参数是id。