1

Rails 3.2を使用して簡単なディレクトリを作成し、新しいユーザーがサイトを使用する前に承認が必要な場所を考案しました。「方法:sign_inの前に管理者にアカウントのアクティブ化を要求する」の指示に従いました。管理者ユーザーは、承認済みユーザーと未承認ユーザーのさまざまなインデックスページのリストを表示できるようになりました。ここまでは順調ですね。

私の問題は、ユーザーの承認プロセスです。現在、Railsコンソールでユーザーを承認しています。管理者ユーザーがブラウザを介してユーザーを承認できるようにしたいと思います。私は途方に暮れています。未承認の各ユーザーの横に「承認」リンクと「承認しない」リンクを配置する必要があることはわかっていますが、それではどうすればよいですか?

要約すると、これらのリンクをクリックすると、ユーザーモデルまたはコントローラーのメソッドがアクティブになり、フラッシュでリダイレクトされるはずですが、初心者のチュートリアルでわかっていることを超えてしまいました。

ビューとルートに何を入れるべきかわかりません。「承認」送信ボタンがクリックされ、ボタンが唯一の表示要素である場合にのみ、「承認済み」をfalseからtrueに変更する特別な非表示フォームが必要ですか?

誰かが私を正しい方向に始めることができれば、私はおそらくそこからそれを理解することができます。

4

1 に答える 1

1

@ sas1ni69のコメントから、Ruby on Rails link_to With putメソッドにたどり着き、解決策を見つけることができました。

私の見解に私は追加しました:

<%= link_to "approve", approve_user_path(user.id)  %>

私のルートに追加しました:

match 'users/:id/approve'=> 'users#approve_user', as: 'approve_user'

ユーザーコントローラーに次のものを追加しました。

def approve_user
  user = User.find(params[:id])
  user.approved = true
  if user.save
    flash[:notice] = "#{user.full_name} approved"
  else
    flash[:alert] = "#{user.full_name} approval failure"
  end
  redirect_to :back
end

チャームのように働いているようです!みんなありがとう!

于 2013-03-11T19:25:34.987 に答える