0

railstutorial.org の Web サイトに基づいて独自のアプリを作成しました。現在、第 11 章に進んでいます。すべて順調です。このチュートリアルから多くのことを学びました。現在、アプリの作業を続けています。実際には、すべてのユーザーが新しいアーティスト ex.Michael Hartl を作成できるモデル「アーティスト」を使用しています;) 最も人気のあるアーティストを追加します引用。問題は、railstutorial のマイクロポスト フィードのように、ユーザーがお気に入りのアーティストをフォローして、フィードで引用を表示できるようにすることです。アーティストとユーザーは別のモデルであり、railstutorial はそのための「フォロー システム」の作り方を説明していません。YouTubeなどでチャンネルを購読するようなものです.誰かがこれを機能させる方法を説明できますか? コードで何を変更する必要がありますか?

答え:

ボタン:

<%= form_for(current_user.userartists.build(followed_id: @artist.id)) do |f| %>
  <div><%= f.hidden_field :followed_id %></div>
  <%= f.submit "Follow", class: "btn btn-large btn-primary" %>
<% end %>

コントローラ

class UserartistsController < ApplicationController
def create
@artist = Artist.find(params[:userartist][:followed_id])
current_user.follow!(@artist)
respond_to do |format|
format.html { redirect_to @artist }
format.js
end
end
end
4

1 に答える 1