0

ユーザーのサインアップを承認するためのリンクを作成したいのですが、

1) 最初の解決策

<%= link_to "Approve", edit_user_registration_path(:id => user.id, :approved => true), :method => :put %>

しかし、それは後退しますNo route matches [PUT] "/users/edit"

2)また、特定のルートに応答してユーザーのサインアップを更新する追加のアクションについて考えていました。

match '/users/approve_user', :controller => 'users', :action => 'approve_user', :collection => { :my_action => :put}
そしてビューで:

%- link_to "Approve", users_approve_user_path(:id => user.id), :method => :put

しかし、それはそれを返しますCouldn't find User with ID=approve_user

どんな助けでも大歓迎です

4

1 に答える 1

0

deviseでカスタムルーティングを使用する必要があると思います

これはデバイスのドキュメント ( https://github.com/plataformatec/devise )から直接、ルートを構成します

devise_scope :user do
  get "sign_in", :to => "devise/sessions#new"
end

あなたの場合、次のようなものを試してください

devise_scope :user do
  post "Approve", :to => "users/approve_user"
end

デフォルトでは、デバイス ユーザー コントローラーは名前空間「devise」の下にあることに注意してください。

于 2012-09-25T04:33:07.420 に答える