【发布时间】: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:increate'
标签: javascript jquery ruby-on-rails ajax