「フォロー/フォロー解除」機能を含むアプリケーションに取り組んでいます。UsersフォローすることができObjects、Objects多くの人をフォローすることができUsersます。これは、モデル/コントローラーhas_many :throughを介した関係です。Relationships
object#showビューに次のスニペットがあります。
<% if current_user.following?(@object) %>
<%= render 'unfollow' %>
<% else %>
<%= render 'follow' %>
<% end %>
リクエスト仕様でさまざまな機能をテストするundefined method 'following?' for nil:NilClassと、すべての仕様が表示され、失敗しますobject#show。
following?メソッドはモデルにあり、次のUserようになります。
def following?(object)
relationships.find_by_object_id(object.id)
end
メソッドfollowing?はUserモデルに含まれています(フォローとフォロー解除を行うのはメソッドだけであるため)。Rubyのオブジェクト間でメソッドを使用できると思いましたが、おそらくそうではありません。そうでない場合、そのメソッドを使用できるようにこれをリファクタリングするにはどうすればよいですか?
助けてくれてありがとう!