-1

而不是使用以下内容(我认为这是由 rails 生成的):

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 回答