2011-03-12 4 views
0
@video = Video.find(params[:id]) 

@lengths = @video.each do |i| 
    @length = i.length * 60 
end 

첫째 배열로 속성, 내가 @video가 각각있을 것입니다 추정, 대신에이 오류 가지고 : 둘째루비/레일 3 : 객체의 집합을 돌리면

undefined method `each' for #<Video:0x4738428> 

을, 어떤 루비가 마지막 3 줄을 대체 할 수있는 단 하나의 마술?

답변

4

@video는이 경우 배열이 아니며, 비디오 모델에 params 배열에 제공된 ID가있는 동영상 하나만 반환하도록 요청했기 때문에 개체입니다. 경우

는 데이터베이스의 모든 동영상을 검색 할 다음을 수행

@video = Video.all 

지금 @video 비디오 객체의 배열 될 것입니다.

+1

또한 하나의 Video 객체가 필요하지만 배열로 사용하려면 다음을 수행하십시오.'@videos = [Video.find (params [: id])]' –

1

피치카토는 귀하의 질문에 잘 대답하지만 여기 내 두 센트 : [

P는 Video.find (PARAMS : 당신이 객체의 클래스를 알고 싶다면

, 당신이 할 수있는 ID를 ]).

관련 문제