안녕하세요, 저는 루비 프로젝트에서 사용자 데이터베이스를 가지고 있으며 각각을 반복하여 값을 구해야합니다. 어떻게 반복합니까? 사용할 수 있다는 것을 알고 있습니다.루비로 루핑하기
model.find(i)
각 요소를 얻지 만 마지막 요소까지 어떻게 반복합니까? 루프하는 방법에는 여러 가지가 있습니다
안녕하세요, 저는 루비 프로젝트에서 사용자 데이터베이스를 가지고 있으며 각각을 반복하여 값을 구해야합니다. 어떻게 반복합니까? 사용할 수 있다는 것을 알고 있습니다.루비로 루핑하기
model.find(i)
각 요소를 얻지 만 마지막 요소까지 어떻게 반복합니까? 루프하는 방법에는 여러 가지가 있습니다
는이
다른 방법은 루프에 사용 될 수있는 루프 쉬운 방법은 있지만,
users.each do |user|
puts user.name
end
당신이 할 수있는 당신이 사용자가
객체 말해봐 루프의 다른 루프를 반복하십시오. http://www.tutorialspoint.com/ruby/ruby_loops.htm레일을 사용한다고 가정합니다. & 활성 레코드입니다. 당신이 기록의 많은 경우 도움이되는, 일괄로드 기록 - 그렇다면,
User.all.each do |user|
# your code here
end
또는
User.find_each do |user|
# your code here
end
전 부하에게 한 번에 데이터베이스에서 모든 사용자, 후자을한다. 루비 반복자에서
많이 사용되며, 일반적으로 Enumerable에서라는 표준 모듈은 사용됩니다 : An Introduction to Ruby's Enumerable Module
로스 array.each
루프에 가장 좋은 방법은 그의 대답에 말했듯이.
그러나 ActiveRecord의 경우 레일 가이드 섹션 Loading in Batches을 살펴 봐야합니다.
매우 쉽게 User.all.each
라고 말할 수 있지만 1,000,000 명의 사용자가있는 경우 서버가 손상 될 수 있습니다.
이
User.find_each do |user|
* do something *
end
말 그리고 무대 뒤에서 메모리 후 액티브 레코드 모양을하게하는 것이 훨씬 낫다.
'find_each'에 +1 – jaydel