我想使用Ajax调用显示表单,但它不起作用。 请检查下面的代码。
<h1>Enter your data<h1>
<%= link_to 'New Task', users_new_path, remote: true %>
<div id="task-form" style="display:none;"></div>
<%= render 'form' %>
$('#task-form').html("<%= j (render 'form') %>");
$('#task-form').slideDown(350);
<%= simple_form_for :user, remote: true do |f| %>
<%= f.input :name %>
<%= f.input :content %>
<%= f.button :submit %>
<% end %>
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
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。
答案 0 :(得分:0)
更新代码:
1)路径错误“users_new_path”到“new_users_path”
视图/用户/ index.html.erb
<h1>Enter your data<h1>
<%= link_to 'New Task', new_users_path, remote: true %>
<div id="task-form" style="display:none;"></div>
2) Update users/new.js.erb
$('#task-form').html("<%= escape_javascript(render("form")) %>");
$('#task-form').slideDown(350);
3)更新:controller / users_controller.rb
class UsersController < ApplicationController
def new
@user=User.new
respond_to do |format|
format.html
format.json
end
end
def create
end
end