对 ruby on rails 非常陌生,并试图让我的第一个 ajax 调用正常工作。它正在进行 ajax 调用,但它总是调用 #index 操作并且似乎忽略了 URL 参数。这是代码:
class UserController < ApplicationController
def flag
logger.debug "in flag user"
respond_to do |format|
format.js { render :layout=>false }
end
end
end
在我的 routes.db 中:
resources :users do
member do
post 'flag'
get 'flag'
end
end
然后在我看来,我创建了这样的链接:
<%= link_to "Flag User", :url => flag_user_path(user.id), :method => :get, :remote => true %>
HTML 源代码是:
<a href="/users?method=get&url=%2Fusers%2F1%2Fflag" data-remote="true">Flag User</a>
rake 路线产生这个:
flag_user POST /users/:id/flag(.:format) users#flag
GET /users/:id/flag(.:format) users#flag
每当我单击链接时,都会执行 user#index 方法。如何让 user#flag 方法执行?