У меня есть много сквозной ассоциации.Ошибка маршрутизации - пользовательский контроллер
У фирм есть много пользователей через Follows. Я хочу, чтобы пользователи могли следить за фирмами. - Я использую Devise для пользователей.
У меня есть следующее действие в моем фирменном контроллере.
def follow
@firm.users << current_user
end
в моем routes.rb
resources :firms do
post :follow, on: :member
end
и в моих фирмах смотреть
<%= link_to "Follow", follow_firm_path(@firm), method: :post %>
Однако, когда я получаю следующую ошибку маршрутизации в браузере
No route matches {:action=>"follow", :controller=>"firms"}
Rake Routes подтверждает следующее крыло
follow_firm POST /firms/:id/follow(.:format) firms#follow
Любые идеи, в чем проблема может быть?
Большое спасибо
Edit: контроллер код
class FirmsController < ApplicationController
before_filter :authenticate_user!, :except => [:show, :index]
def index
@firm_names = Firm.all.map &:name
direction = params[:direction]
direction ||= "ASC"
@firms = Firm.order("name #{direction}")
respond_to do |format|
format.html # index.html.erb
format.js
end
end
def follow
@firm.users << current_user
end
Я использую последующих действий в частично в индексном.
Почему вы используете «on:: member» и «method:: post». Правильный способ: ': on =>: member' и ': method =>: post' – Vik