-1

以下を使用する代わりに(レールによって生成されたと思います):

def create
  @game = current_user.games.create(params[:game])

  respond_to do |format|
    if @game.save
      format.html { redirect_to @game, notice: 'Game was successfully created.' }
      format.json { render json: @game, status: :created, location: @game }
    else
      format.html { render action: "new" }
      format.json { render json: @game.errors, status: :unprocessable_entity }
    end
  end
end

エラーをフラッシュメッセージに入れたい。私のapplication.html.erbはすでに持っています:

<% flash.each do |name, msg| %>
  <div class="row-fluid">
    <div class="span12">
      <div class="alert alert-<%= name == :notice ? "success" : "error" %>">
        <a class="close" data-dismiss="alert">×</a>
        <%= msg.html_safe %>
      </div>
    </div>
  </div>
<% end %>

すでにそれを処理できますが、コントローラーで何をすべきかわかりません。どのように、または何が入力@game.errorsされるかはわかりませんが、モデルの検証が失敗した場合、その理由が含まれていることは知っています

4

1 に答える 1

0

これは Rails 2.3.8 用ですが、とにかく便利だと思いました。

http://api.rubyonrails.org/v2.3.8/classes/ActiveRecord/Errors.html

Flash は単なるハッシュです。次のように追加できます。

Rails - 検証エラーではないモデルからのエラー メッセージの取得

怠惰な答えで申し訳ありませんが、遅くてタブレットを使用しています。少なくとも正しい方向に向けられることを願っています。

于 2013-08-30T03:46:32.917 に答える