2013-01-12 2 views
0

, 내가 관리자 하위 폴더, 거기 컨트롤러 및 방법을 관리 부분에서 다른 테이블에서 필드를 얻을 수 관리자) :레일은 내 응용 프로그램에서

class UserGroup < ActiveRecord::Base 
    attr_accessible :group_id, :user_id 
    belongs_to :group 
    belongs_to :user 
    validates :user_id, :presence => {:message => I18n.t(:user_not_chosen)} 
    validates :group_id, :presence => {:message => I18n.t(:group_not_chosen)} 


    def get_group_name(id) 
    @gr = Group.find(id) 
    @gr.name 
    end 

    def get_user_name(id) 
    @user = User.find(id) 
    @user.email 
    end 
end 

은 또한 내가 그것을 작동하고 검증 메시지의보고하지 않았다 .... 그것은 확인을 건너 뜁니다

및보기 :

%table.table.table-striped 
    %tr 
    %th 
     Название группы: 
    %th 
     Пользователь: 
    [email protected]_groups.each do |u| 
    %tr 
     %td 
     = u.get_group_name(group_id) 
     %td 
     = u.user_id 

을하지만

undefined local variable or method `group_id' for #<#<Class:0xb352734>:0xab437dc> 

을받을 이유 그래서 난 모델의 방법으로 이동하지 않았다 ... 어떻게 모델 방법을 액세스 할 수 있습니까?

답변

0

오류에 명시된대로 group_id이 정의되지 않았습니다. UserGroup 객체 그러나

의 속성이

= u.get_group_name(u.group_id)

group_id 때문에, 당신이 돈을 방법 get_group_nameget_user_name을 왜 왜 표시되지 않습니다 다음과 같이 당신은 그것을 호출해야 u.group.nameu.user.email을 사용 하시겠습니까?

+0

아하하, 롤 .... 진짜 어떻게, 나는 그것을 잊을 수있다. ... 2 박 동안 잠을 자지 않는 것이 좋지 않다.) 감사합니다. 그런 질문에 대해 미안합니다. – brabertaser19

+0

당신은 환영합니다, 협회 이용을 고려해 주시기 바랍니다. 나는 답을 직접 적어 주었다. – Khaled

+0

지금 내가 관계로 인해 곤란을 겪었으니 ... 지금은 모릅니다. 잠시 동안 방법을 하드 코딩하기로 결정했습니다. – brabertaser19