0
이것은 기본적인 질문처럼 보입니다. 그러나 나는 그것을 얻을 수 없습니다. DB에서 데이터를 가져와 JSON으로 제공합니다. JSON으로 제공하기 전에 배열의 각 해시에 값을 추가하고 싶습니다.활성 레코드 응답 수정
@locations.each do |location|
if location[:image].present?
location[:convient_new_url_value] = 'http://site.com/#{location.image}.jpg'
end
end
그러나 해시에 값을 추가 할 수없는 것 같습니다. 잘못된 접근 방식을 취하고 있습니까?
** 죄송합니다 - json으로는 HTML 템플릿에서 만든 **
@locations = Location.find(:all, :order => "created_at")
@locations.each do |location|
if location[:image].present?
location[:convient_new_url_value] = 'http://site.com/#{location.image}.jpg'
end
end
respond_to do |format|
format.html
end
대한 추가 정보 :
<script>
var location_data = <%= raw @locations.to_json() %>
</script>
실제로 '위치'가 무엇인지, 그리고 그것이보기에 어떻게 제공되는지 쉽게 볼 수 있습니다. –
더 명확하게하기 위해 수정했습니다 ... – Jim
'locations'는 해시가 아니며 활성 레코드 관계입니다. 해당 컬렉션의 각 개체는 일반 해시가 아닌 AR입니다. AFAIK에는 실제 저작물을 검사하고 그 안에 들어간 특수한 것들을 무시하는 것 외에는 아무 일도 할 수 없습니다. IIRC'[] ='write_attribute'로 해석되었는데, 그 속성이 모델 자체에 실제로 존재하지 않는다면 직렬화 될 것이라고 생각하지 않습니다. –