【未経験プログラミング】twitterクローン【xx日】
Userを表す user_id とフォローされる側のUserを表す follow_id のカラムを持たせます。
→micropost_ID = follow_id
rails g model Like user:references micropost:references
has_many :reverses_of_like, class_name: 'Like', foreign_key: 'micropost_id'
has_many :microposts, through: :reverses_of_like, source: :user
いらないとの事。
UserとUserの双方向で関連付けはいらない
そのため、双方向を意識するなら、 `models/microport.rb` に2行の関連付けが必要です。
ただ課題の要件上は、Microportモデル側の関連付けは使いません。
そこで今回は `models/user.rb` に適切な2行の関連付けがあれば良いですね。
エラー
undefined local variable or method `user' for
user idから current_user.Idに2箇所変更
<% if current_user.microposting?(current_user) %>
<%= hidden_field_tag :micropost_id, current_user.id %>
NoMethodError in Users#likes
undefined method 'name' for nil:Nilclass
→ネームメソッドない
実装されていなくても表示される。TOP画面等
Users/likes.html.erb
↓
users_controller
↓
定義なしの為nilで帰ってきた。
def likes
@user = User.find(params[:id])
@microposts = @user.microposts.page(params[:page])
↓