【问题标题】:Rails New Model Ajax ResponseRails 新模型 Ajax 响应
【发布时间】:2016-02-26 13:26:11
【问题描述】:

我正在尝试在新表单上制作一个简单的示例,以便在使用 ajax 创建新项目时发送成功通知。 我收到来自服务器的响应,内部错误为 500。

new.js.erb

$("#flash-messages").html("<%= notice %>")

new.html.erb

<h1>New Ajax</h1>

<%= form_for(@ajax, remote: true) do |f| %>
<div id="flash-messages" >
</div>
<% if @ajax.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@ajax.errors.count, "error") %> prohibited this ajax from being saved:</h2>

  <ul>
  <% @ajax.errors.full_messages.each do |message| %>
    <li><%= message %></li>
  <% end %>
  </ul>
</div>
  <% end %>

<div class="field">
<%= f.label :name %><br>
<%= f.text_field :name %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>

控制器

  def create
  @ajax = Ajax.new(ajax_params)

respond_to do |format|
  if @ajax.save
    format.html { redirect_to @ajax, notice: 'Ajax was successfully created.' }
    format.json { render :show, status: :created, location: @ajax }
    format.js { redirect_to new_ajax_path, flash[:notice] = "Fudeu" }
  else
    format.html { render :new }
    format.json { render json: @ajax.errors, status: :unprocessable_entity }
  end
end

结束

【问题讨论】:

  • 复制你的日志,找出究竟是什么导致了错误。
  • 重定向到 Completed 500 Internal Server Error in 64ms (ActiveRecord: 61.7ms) TypeError(没有将符号隐式转换为字符串):app/controllers/ajaxes_controller.rb:33:in block (2 levels) in create' app/controllers/ajaxes_controller.rb:29:in create'

标签: javascript jquery ruby-on-rails ajax


【解决方案1】:

我找到了为什么会窃听我的代码。 只需删除 flash[:notice] 即可注意到: 现在我正在考虑为这个闪光灯赋予一生,比如 10 秒,然后它就消失了 当我让它工作时,我把它贴在这里给其他可能像我一样挣扎的人

【讨论】:

    猜你喜欢
    • 2016-09-16
    • 2013-08-23
    • 2017-04-18
    • 2013-09-29
    • 1970-01-01
    • 2017-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多