我在req
会员控制器中创建了一个自定义操作并为其定义了路由。但是当我在 link_to 上给出该自定义操作的路径时,它给了我一个错误,说未知操作,找不到 MembershipsController.I 的操作“显示” dny 了解为什么在我为自定义操作提供路径时它会找到显示操作。
以下是我在成员控制器中的自定义操作
def req
@user =User.find_by_email(params[:email])
@group =params[:group_id]
unless @group.nil?
if Membership.request(@user.id, @group)
redirect_to :back, :notice => 'Joined successfully.'
else
redirect_to :back, :notice => 'couldnot Joine.'
end
end
end
我的会员控制器内没有显示操作。
以下是我的自定义操作的路线:
resources :memberships do
collection do
post 'req'
end
end
以下是我groups/show.html.haml
在其中给出自定义操作路径的代码。
- if @collegemates.empty?
%p.info You have no common collegemates ...
- else
%table.datatable
%thead
%tr
...
%tbody
- @collegemates.each do |c|
- unless Membership.group_member(c.id, @group)
%tr
%td= c.full_name
%td= c.email
%td= link_to "request to join",{:controller => :memberships, :action => "req",:email =>c.email,:group_id => @group.id},:method => "post"
当我单击加入请求时,我收到显示操作的未知操作错误。我在这里做错了什么?