has_many:throughとbelongs_toに関するモデル間の関係を整理しました。また、移行を使用して、必須のidフィールドをデータベーステーブルに追加しました。
私の質問は:ユーザーがリンクをクリックした後:
<%= link_to "subscribe", new_subscription_path(feed_url: @feed.feed_url)%>
私は新しい方法でこれを行います:
def new
feed_url = params[:feed_url]
@subscription = Subscription.new
redirect_to reader_url, notice: "You are now subscribed to: "+Feed.find_by_feed_url(feed_url).title
end
サブスクライブリンクでサブスクリプションテーブルに新しい行を作成する必要があるため、createメソッドを呼び出す方法と場所を正確に把握できません。
また、私のテーブルが正しいことを確認するために、ここに私の関連付けがあります。
User has_many :feeds, :through => :subscriptions, dependent: :destroy
|ユーザーテーブルには列があります:id
Subscription belongs_to :feed
Subscription belongs_to :user
|サブスクリプションテーブルには、id、user_id、feed_idの列があります
Feed has_many :users, :through => :subscriptions
|フィードテーブルには列があります:id