2016-06-25 2 views
0

ActiveAdmin을 사용 중이며 계정 모델과 사용자 모델이 있습니다. 각 계정은 사용자와 has_many 관계를 맺을 것이므로 계정 테이블에 사용자 이름을 나열하고 싶습니다.레일즈 - ActiveAdmin - 표시 할 관련 모달 속성을 가져올 수 없습니다.

저도 같은 문제를 해결 꽤 많은 SO 질문을 본 적이 이것이 내가 얻을 관리했습니다 얼마나 멀리입니다 :

index do 
    column :id 
    column :account_status 
    column :users do |account| 
     account.users.each do |user| 
     auto_link user 
     end 
    end 
    column :address do |account| 
     account.address 
    end 
    column :created_at 
    column :updated_at 
    actions 
    end 

참고 : 나는 또한 함께 "auto_link 사용자"를 대체하려고했습니다 "user.name"

이런 종류의 작품. 그것은 데이터를 얻을 않지만, 대신에 속성 값을 표시의 난 그냥 메모리 주소 참조를 얻을 수가 :

How the Account column looks

나는 그것이 가능성이 높습니다 그래서, 루비와 레일스 모두 아주 새로운 오전 여기에서 말해야한다

나는 그 요점을 놓치고있다. 내가 가지고있는 것을 고려해 볼 때 내가 빠뜨린 것이 있습니까?

답변

1

account.users.each은 User 개체의 배열을 반환합니다. 그래서 "메모리 주소 참조"와 같은 것을 얻었습니다. user.name의 목록을 반환하려면이 같은 것을 수행해야합니다

column :users do |account| 
    account.users.pluck(:name).join(', ') 
end 

나는 문자열로 이름의 배열을 변환하려면 여기를 join를 사용합니다. join 없이는 무엇이 표시 될지 확실하지 않습니다. 직접 사용해 볼 수 있습니다.