【发布时间】:2015-04-17 05:01:30
【问题描述】:
我想使用 Ajax 调用显示表单,但它不起作用。 请检查我下面的代码。
views/users/index.html.erb
<h1>Enter your data<h1>
<%= link_to 'New Task', users_new_path, remote: true %>
<div id="task-form" style="display:none;"></div>
users/new.html.erb
<%= render 'form' %>
用户/new.js.erb
$('#task-form').html("<%= j (render 'form') %>");
$('#task-form').slideDown(350);
用户/_form.html.erb
<%= simple_form_for :user, remote: true do |f| %>
<%= f.input :name %>
<%= f.input :content %>
<%= f.button :submit %>
<% end %>
控制器/users_controller.rb
class UsersController < ApplicationController
def index
@user=User.all
respond_to do |format|
format.html
format.js
end
end
def new
@user=User.new
respond_to do |format|
format.html
format.js
end
end
def create
end
end
routes.rb
Ajax3::Application.routes.draw do
root :to => "users#index"
get "users/new" => "users#new"
post "users/create" => "users#create"
end
点击链接后在我的浏览器控制台中出现以下错误。
错误:
GET http://localhost:3000/users/new 500 (Internal Server Error)
jQuery.ajaxTransport.send @ jquery.js?body=1:9632
jQuery.extend.ajax @ jquery.js?body=1:9177
$.rails.rails.ajax @ jquery_ujs.js?body=1:84
$.rails.rails.handleRemote @ jquery_ujs.js?body=1:164
(anonymous function) @ jquery_ujs.js?body=1:342
jQuery.event.dispatch @ jquery.js?body=1:4642
jQuery.event.add.elemData.handle @ jquery.js?body=1:4310
我使用的是 rails 版本 3.2.19。
【问题讨论】:
-
您在浏览器控制台中看到了什么?您可以发布它,也可以发布您的日志吗?
-
Mandeep,我越来越像这样加载资源失败:服务器响应状态为 500(内部服务器错误)
-
啊,需要完整信息,所以当您单击该链接以及您在浏览器控制台中看到的内容时,您可以编辑您的问题并发布完整日志吗?
-
这很奇怪。当您通过浏览器发送 HTML 请求时,表单会呈现吗?
标签: ruby-on-rails ruby ajax ruby-on-rails-3.2