メンバーシップコントローラ内にカスタムアクションreq
を作成し、そのルートを定義しました。ただし、link_toにそのカスタムアクションのパスを渡すと、その不明なアクションを示すエラーが表示されます。 MembershipsController.I dnyに見つかりません。私のカスタムアクションへのパスを与えているときに、showアクションが見つかる理由を理解しています。私のメンバーシップコントローラの内部には、showアクションはありません不明なアクションエラー
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
会員コントローラ内に続いて
は私のカスタムアクションです。
には、以下の私のカスタムアクションのためのルートです:..私はカスタムアクションのパスを与えている私のgroups/show.html.haml
内部コード
resources :memberships do
collection do
post 'req'
end
end
続いている
- 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"
iは、要求をクリックしてください
私はshowアクションのためにその未知のアクションエラーを取得しています。私はここで間違って何をしていますか?
Railsのjavascriptが含まれていますか? Railsはjavascriptを使用しているので、あなたのリンクは投稿要求を行います。 JavaScriptを含まない場合は、ポストリクエストではなくgetリクエストを実行します。 – Mischa
このjavascriptを含めるにはどうすればいいですか?createはポストリクエストでもないですか?私の作成アクションはうまくいきます。つまり、私のポストリクエストはfyn ..で動作しています。 – NJF
ボタンが付いた通常のフォームなので、Createはおそらく動作します。これはリンクなので、投稿するにはjavascriptが必要です。レイアウトファイルの 'head'タグにjavascriptを含める必要があります:' <%= javascript_include_tag 'application'%> '。 – Mischa