こんにちは、Ruby on Rails の初心者です。URL を変更せずに検証を行って失敗したサインアップ試行をレンダリングする方法を知りたいのですが?
質問する
25 次
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 に答える