gpt4 book ai didi

ruby-on-rails - 未知操作错误

转载 作者:行者123 更新时间:2023-12-04 05:49:09 26 4
gpt4 key购买 nike

我创建了一个自定义操作 req在我的成员(member) Controller 内部并为它定义了路由。但是当我在 link_to 上提供该自定义操作的路径时,它给我错误提示未知操作,无法为 MembershipsController 找到操作“show”。我知道为什么它会转到当我提供自定义操作的路径时,找到显示操作。

以下是我在成员(member) Controller 中的自定义操作

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

我的成员(member) Controller 内没有显示操作。

以下是我的自定义操作的路线:
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"

当我点击请求加入时,我收到了显示操作的未知操作错误。我在这里做错了什么?

最佳答案

要使链接执行 POST 请求,您需要 javascript。 Rails 会为您处理这个问题,但您必须包含必要的文件。添加 <%= javascript_include_tag :defaults %>到您的布局文件将解决您的问题。如果您不这样做,将执行 GET 请求而不是 POST 请求。

关于ruby-on-rails - 未知操作错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10292857/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com