【问题标题】:Parsing JSON errors using simple_form and AJAX in rails在 rails 中使用 simple_form 和 AJAX 解析 JSON 错误
【发布时间】:2013-03-16 01:14:07
【问题描述】:

我有一个在用户仪表板上使用简单表单和远程 => true 的表单(由仪表板视图和仪表板控制器处理)。该表单允许用户添加自定义游戏规则;但是,它通过 Jquery 的 .load() 函数加载表单。表单正在从“规则”视图加载(由规则控制器处理)。

当用户点击提交按钮时,我没有得到任何错误验证。

她是规则控制器上的创建动作:

def create
  @rule = Rule.new(params[:rule])

  respond_to do |format|
    if @rule.save
      format.html { redirect_to dashboard_path, notice: 'Rule was successfully created.' }
      format.json { render json: @rule, status: :created, location: @rule }
      format.js
    else
      format.html { render template: 'dashboard/index'}
      format.json { render json: @rule.errors, status: :unprocessable_entity }
      format.js
    end
  end
end

我的视图文件夹中有一个名为 create.js.erb 的 js 文件,该文件当前为空。我认为我必须以某种方式解析这个 create.js.erb 文件中的 JSON 错误数据,但我不知道该怎么做。

此外,仪表板视图/控制器正在调用此表单但规则控制器正在处理该表单是否重要?

【问题讨论】:

    标签: ruby-on-rails ajax json forms simple-form


    【解决方案1】:

    在 create.js.erb 中尝试以下操作

    $('.error-messages').remove();
    <% if @rule.errors.any? %>
      $('body').append('<ul class="error-messages"></ul>');
      <% @rule.errors.full_messages.each do |msg| %>
        $('.error-messages').append('<%= escape_javascript msg %>');
      <% end %>
    <% end %>
    

    这会将错误附加到您的正文标记中。

    【讨论】:

      猜你喜欢
      • 2023-03-30
      • 2013-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-08
      • 2014-12-04
      相关资源
      最近更新 更多