示例场景:我在Rails控制台内的Mac终端上,刚刚输入以下数据库记录并在其中一个字段中拼写错误:
irb(main):019:0> Meme.create(:category => 'funny', :title => 'Balloon frihgtens cat')
问:使用Rails控制台,如何修复该记录以正确拼写" frihgtens"?
答案 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。