0

こんにちは、Ruby on Rails の初心者です。URL を変更せずに検証を行って失敗したサインアップ試行をレンダリングする方法を知りたいのですが?

4

1 に答える 1

0

新規ユーザーを登録するためのフォーム-

app/views/users/new.html.erb

<h2>Sign up</h2>

<% form_for(@user) do |f| %>
  <div class="field">
    <%= f.label :name %><br />
    <%= f.text_field :name %>
  </div>
  <div class="field">
    <%= f.label :email %><br />
    <%= f.text_field :email %>
  </div>
  <div class="field">
    <%= f.label :password %><br />
    <%= f.password_field :password %>
  </div>
  <div class="field">
    <%= f.label :password_confirmation, "Confirmation" %><br />
    <%= f.password_field :password_confirmation %>
  </div>
  <div class="actions">
    <%= f.submit "Sign up" %>
  </div>
<% end %>

新しいアクションに@user変数を追加する-

app/controllers/users_controller.rb

class UsersController < ApplicationController
  .
  .
  .
  def new
    @user = User.new
    @title = "Sign up"
  end
end

サインアップの失敗を処理できる(ただし成功は処理できない)作成アクション-

app/controllers/users_controller.rb

class UsersController < ApplicationController
  .
  .
  .
  def create
    @user = User.new(params[:user])
    if @user.save
      # Handle a successful save.
    else
      @title = "Sign up"
      render 'new'
    end
  end
end

サインアップフォームにエラーメッセージ表示を追加するコード-

app/views/users/new.html.erb

<h2>Sign up</h2>

<% form_for(@user) do |f| %>
  <%= f.error_messages %>
  .
  .
  .
<% end %>
于 2013-01-21T12:43:11.077 に答える