私の心に来る最初の答えはおそらく最良の選択肢ではありませんが、それはあなたが正しい道を始めるようにするべきです。ユーザーがサインアップは、ユーザーに/アクションを作成
はこのような何かを:あなたは
if params[:survey] == "1"
render :action => "survey" and return
end
:
redirect_to edit_user_url(@user, :survey => "1") and return
し、そのユーザーで/ editアクションは、これを行いますviews/usersフォルダには、survey.html.erbまたはshort_form.html.erbを持っているかどうかを確認してください。そこにあなたのフォームを入れてください。それは、ユーザーを編集するつもりなら、標準の編集フォームのように動作させるが、パスワードなどのものは除外する。
この方法で、アンケート(または短いフォームなど)にリンクすることができますが、アカウントを作成すると通常は表示されます。
編集ユーザービューを表示したいが、1つのオプション(パスワードフィールド)を省略したい場合は、上記のようにnew_user => "1"を使用して編集アクションにリンクすることを検討するとよいでしょう。そのパラメタのビューテストで、パスワードフィールドが表示されていない場合は表示されます。それはおそらく最善のアイデアではありませんが、表示されないように1つまたはいくつかのフィールドだけが必要な場合は、私がやっている方向に傾いているでしょうが、そうでなければ同じフォームを持っています。一部の人々は、ビュー内の条件文が真実ではないと思っていますが、それが控えめに行われた場合は問題ありません。
あなたが探しているのは、まったく関係のないアクションです。ユーザーを編集することとはまったく関係がありません。新しいRESTfulアクションをモデルに追加する必要があります。 http://guides.rubyonrails.org/routing.html、特に「2.9もっとRESTfulなアクションを追加する」を参照してください。