まだRailsには新しく、Railsでのパスシステムの仕組みを理解するのは難しいです。私のroutes.rbをでRailsはルートパスをレンダリングします
私はサインアップのためのエイリアスを作成します。
match 'signup' => 'user#new'
resource :user, :controller => 'user'
アクションがあると/サインアップに行くには、正しい行動を示しています。ここまでは順調ですね。
サインアップフォームを送信すると、通常はPOSTで作成アクションが実行されます。そして、ここで私はどこにこだわっています。
サインアップに失敗した場合は、再度登録フォームを提示します。 1つのオプションは "新しい"レンダリングを行うことですが、/ userではなく/ userにユーザーを連れて行きます。
UserControllerで
class UserController < ApplicationController
def new
@user = User.new
end
def create
@user = User.new(params[:user])
if @user.save
redirect_to root_url
else
render "new"
end
end
end
すべてのヘルプ感謝! -
UPDATE SOLUTIONが使用して、用/サインアップ
を追加しました2試合のルーティングをFOUND:オプションを使用して、アプリケーションがに投稿するときに知っている
match 'signup' => 'user#new', :as => :signup, :via => 'get'
match 'signup' => 'user#create', :as => :signup, :via => 'post'
この道を作成/それは実行する必要がありますサインアップしますhttpメソッドがgetのときは、新しいアクションを使います。
コントローラのマークアップは、上記と同じです。このような
こんにちはHiasinho、あなたの答えをありがとう。それはサインアップにリダイレクトするときに機能します。しかし、私はフォームがあらかじめ入力されるようにユーザーオブジェクトを保持したいと考えています。あなたの答えは、しかし、正しい方向に私を得た。結果を追加しないでください。 –