Ich habe eine hat viele durch Assoziation.Routing-Fehler - benutzerdefinierte Controller
Unternehmen haben viele Benutzer durch Folgen. Ich möchte, dass Benutzer Firmen folgen können. - Ich benutze Devise für die Benutzer.
Ich habe die folgende Aktion in meinem Firmencontroller.
def follow
@firm.users << current_user
end
in meinem routes.rb
resources :firms do
post :follow, on: :member
end
und in meinem Unternehmen sehen
<%= link_to "Follow", follow_firm_path(@firm), method: :post %>
Jedoch, wenn ich halten Sie die nächste Routing-Fehler im Browser bekommen
No route matches {:action=>"follow", :controller=>"firms"}
Rake Routes bestätigt das folgende flügel
follow_firm POST /firms/:id/follow(.:format) firms#follow
Irgendwelche Ideen, was das Problem sein kann?
Vielen Dank
Edit: Controller-Code
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
ich in der Indexansicht die Folgewirkung in einem Teil verwende.
Warum Verwenden Sie 'on:: member' und 'method:: post'. Der richtige Weg ist ': = =: Mitglied' und ': Methode =>: Post' – Vik