2012-05-17 3 views
0

일부 JSON 제가 stream이라는 인스턴스 변수에서 작업하고 있습니다. 나는 이런 식으로 사용하는 것을 시도하고있다 :레일 오류 - 속성을 찾을 수 없습니다.

여기
user = stream.for_user # user model 

는 스트림의 내용입니다 :

=> #<User _id: 4f8de8c40a5dcd0d1d00004c, agency_requested: [], encrypted_password: "$2a$10$FPVJDLkkD6AXd5SY/hL6KeuC6QR6vfU3OKI3oGCPxrTiEnAwvGOOu", avatar_file_size: nil, avatar_file_name: nil, agreed_to_terms: ["v1"], location: nil, last_name_first_initial: "Genadinik, A.", first_initial_last_name: "A. Genadinik", legacy_blogger_id: nil, created_at: Tue Apr 17 22:03:50 UTC 2012, active_advertiser_id: nil, avatar_source: :default, agency_roles: [], last_sign_in_ip: "127.0.0.1", confirmation_sent_at: Tue Apr 17 22:03:50 UTC 2012, created_via: "CMPLY-WEB", deleted_at: nil, updated_at: Fri May 11 16:37:16 UTC 2012, last_sign_in_at: Thu May 10 20:48:53 UTC 2012, display_welcome_help: true, program_influencers: [], agency_rep: true, account_type: :influencer, legacy_user_id: nil, sign_in_count: 44, _type: nil, avatar_content_type: nil, programs: [], active_agency_id: nil, account_status: :active, admin_roles: [], legacy_password: nil, gets_newsletter: false, full_name: "Alex Genadinik", last_name: "Genadinik", reset_password_token: nil, current_sign_in_ip: "127.0.0.1", authentication_token: "ViQ5q89n39zyyVUT3wLp", user_name: "me_n0_like_scrennames", time_zone: "Chihuahua", bio: nil, reset_password_sent_at: nil, current_sign_in_at: Fri May 11 16:37:16 UTC 2012, confirmation_token: nil, avatar_updated_at: nil, last_name_first_name: "Genadinik, Alex", agency_id: nil, first_name: "Alex", confirmed_at: Tue Apr 17 22:49:28 UTC 2012, email: "[email protected]"> 

내가 사용하고있는 속성을 찾을 수 없다는 오류가 발생합니다.

NoMethodError: undefined method `for_user' for #<User:0x138be12a0> 
    from /Library/Ruby/Gems/1.8/gems/mongoid-2.4.5/lib/mongoid/attributes.rb:166:in `method_missing' 
    from /Users/alexgenadinik/projects/cmply/cmply-app/lib/app/monitoring/parsers/linked_in_parser.rb:40:in `fetch!' 
    from (irb):18 

이 문제를 해결하는 방법은 무엇입니까?

+0

무엇을하려고합니까? – Flexoid

+0

@Flexoid json의 사용자 구조를 반영하도록 사용자 인스턴스 변수를 만들려고합니다 – Awesomeness

+0

'for_user'가 왜 거기에 있기를 기대합니까? 사용자 모델에 정의되어 있습니까? –

답변

0

사용자 = stream.try (: for_user)

은 try 방법이 항상 채워되지 않을 경우이 같은 상황에 좋다.

+0

여기서 예기치 않은'nil '은 아무런 문제가 없으므로 똑같은 오류가 발생합니다. –

+0

@ moger777 그냥 시도했지만 여전히 동일한 오류가 발생했습니다 NoMethodError : 정의되지 않은 메소드 for_user for # <사용자 : 0x131331918> – Awesomeness

관련 문제