resources :cars do
collection do
get :f01a
end
end
class CarsController < ApplicationController
def f01a
@user = User.find(params[:id])
@count = Count.find_by_user_id(@user)
@count.increment!(:f02)
redirect_to @user
end
end
<%= button_to "add f01", f01a_cars_path %>
我无法让这个工作。我需要从一个按钮执行此代码。
答案 0 :(得分:2)
button_to
发送POST请求,但您的路由设置为仅接受GET请求。你应该把它改成:
resources :cars do
collection do
post :f01a
end
end
由于您在操作中使用了params[:id]
,但根本没有将其发送,因此您需要在button_to
中传递它:
<%= button_to "add f01", f01a_cars_path(:id => something)
(将something
替换为您要传递的任何ID。)