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