【发布时间】:2012-04-03 09:30:32
【问题描述】:
我有很多通过关联。
公司通过关注有很多用户。 我希望用户能够关注公司。 - 我正在为用户使用设计。
我在我的公司控制器中有以下操作。
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
任何想法可能是什么问题?
非常感谢
编辑:控制器代码
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'
标签: ruby-on-rails ruby-on-rails-3 controller routes has-many-through