2011-11-15 5 views
1

저는 콘솔에 있는데 필드가있는 line이라는 모델이 있습니다.레일 대량 업데이트

는 내가 20 ~ 25 사이의 글꼴을 24으로 설정하고 위의 (28)로 설정하고 30 대에있는 글꼴 (32)

로 설정되도록 내 글꼴 크기를 정상화 할

어떻게 대량 가야합니까 이 같은 콘솔에서 내 데이터베이스를 업데이 트합니까?

답변

2

(난 당신이 한 번만하고 싶은 무언가로 이것을 읽고 있어요, 그래서 성능이나 간결함을 통해 가독성을 위해 갔어요) 자본금 (

이 모델이 Line 레일> 3이라고 가정하면 "L"), 다음과 같이해야합니다.

Line.where(:fontsize => (20..25).each {|x| x.update_attribute :fontsize, 24) 
Line.where(:fontsize => (26..29).each {|x| x.update_attribute :fontsize, 28) 
Line.where(:fontsize => (30..39).each {|x| x.update_attribute :fontsize, 32) 
+0

정말 고마워요. –

+6

동일한 방법을 사용하는 것이 더 나은 방법이지만 더 빠릅니다 : 'Line.update_all ({: fontsize => 24}, {: fontsize => (20..25)})'등 [http : // apodock.com/rails/ActiveRecord/Relation/update_all](http://apidock.com/rails/ActiveRecord/Relation/update_all) –

+0

@ MarkGuk의 솔루션은 확실히 빠를 것이지만 콜백이나 유효성 검사를 실행하지 않습니다. 이것은 당신이 원하는 어떤 것일 수도 있고 아닐 수도 있습니다 ... – nickgrim

관련 문제