ActiveRecord 객체 또는 해시 배열을 반환하는 코드가 있습니다. 첫 번째는 "경우는"ActiveRecord 객체 또는 해시 배열을 반환하는 뷰를 처리하는 방법
if @parts_search_ids.any?
@part_groups = Kaminari.paginate_array(PartGroup.search_part_groups(@parts_search_ids)).page(params[:page]).per(25)
# @part_groups = Kaminari.paginate_array(PartGroup.search_part_groups(@parts_search_ids)).page(params[:page]).per(25)
# @part_groups = PartGroup.parts_group_by_name(@parts_search_ids).page(params[:page]).per(25)
elsif @filter == 'all_parts'
@part_groups = Kaminari.paginate_array(PartGroup.all).page(params[:page]).per(25)
else
@part_groups = Kaminari.paginate_array([]).page(params[:page]).per(25)
end
그래서 내가 얻을 수있는 조건에 따라 SQL 쿼리를 통해 해시의 배열을 돌려 다음 중 하나를
part_group = {"name"=>"170128", "part_category"=>"0", "critical_part"=>"f", "part_groups_count"=>"1", "project"=>"CW01"}
또는
part_group = #<PartGroup id: 1249, name: "KIT.LTE.OVLY.HUA.3CAR", part_category_id: 278, created_at: "2013-12-03 01:32:32", updated_at: "2013-12-03 01:32:32", always_show_group: false, critical_part: false>
I 루프 등을 통해 내가 얻은 해시의 part_groups 배열 :
undefin 에드 메서드 '이름'#
이 문제를 해결하는 가장 좋은 방법은 무엇입니까?
'part_group.is_a? (Array)'라고 말하면 루프를 넘기 전에 확인을 할 수 있습니다. – Anthony
@evanbikes는 답을 일관성있게 만들어줍니다. 또한 if/else 문을 추후에 추가해야 할 경우 공용 변수를 통해 메서드의 끝에서 처리하는 것이 좋습니다. –