"follow/unfollow"기능과 관련된 응용 프로그램을 만들고 있습니다. Users
은 Objects
을 따르고 Objects
은 그 뒤에 많은 Users
을 가질 수 있습니다. Relationships
모델/컨트롤러를 통해 has_many :through
관계입니다.다른 사람의보기에서 모델 메서드가 작동하지 않습니다.
<% if current_user.following?(@object) %>
<%= render 'unfollow' %>
<% else %>
<%= render 'follow' %>
<% end %>
요구 사양에 다양한 기능을 테스트, 그것은 undefined method 'following?' for nil:NilClass
을 보여주고 object#show
사양을 모두 실패
은 내가 object#show
보기에서 다음 코드를 가지고있다.
following?
방법은 User
모델이며, 다음과 같습니다
def following?(object)
relationships.find_by_object_id(object.id)
end
방법 following?
이 User
모델에 (그들은 다음과 언 팔로우하고있는 유일한 사람이기 때문에). 나는 당신이 Ruby에서 객체간에 메소드를 사용할 수 있다고 생각했지만 아마 그렇지 않을 것입니다. 그렇지 않다면, 어떻게 리팩토링하여 그 방법을 사용할 수 있습니까?
미리 도움을 청하십시오!
개인 메서드가 아닌 사용자 모델에서도 공용 메서드입니다. – Justin