Ruby on rails 3.1 Rails控制器方法响应为JSON
我正在与一个GEM呼叫best_in_place合作: 新todo项目的创建通过以下方式完成:Ruby on rails 3.1 Rails控制器方法响应为JSON,ruby-on-rails-3.1,best-in-place,Ruby On Rails 3.1,Best In Place,我正在与一个GEM呼叫best_in_place合作: 新todo项目的创建通过以下方式完成: <%= best_in_place @user, :name, :type => :input, :nil => "Click me to add content!" %> respond_to :html, :json, :js def todo_item_fast_create @todo_list = TodoList.find(params[:id])
<%= best_in_place @user, :name, :type => :input, :nil => "Click me to add content!" %>
respond_to :html, :json, :js
def todo_item_fast_create
@todo_list = TodoList.find(params[:id])
@todo_item = @todo_list.todo_items.new(params[:todo_item])
@todo_item.save
respond_with @todo_item
end
:input,:nil=>“单击我添加内容!”%>
回复:html,:json,:js
def todo_项目_fast_创建
@todo_list=TodoList.find(参数[:id])
@todo_项=@todo_列表。todo_项。新建(参数[:todo_项])
@todo_item.save
用@todo\u项目回应
结束
响应代码是JSON,但是我想调用一个JS模板,这样我就可以操作DOM了,这可能吗?您必须创建一个视图模板,文件名如下:
todo\u item\u fast\u create.JS.erb
调用该操作时将提供该文件。您可能必须将:remote=>true
添加到调用此操作的按钮或链接
这是我的一个JS文件:new.JS.erb(在计划新导出时调用)
$(“#导出模式”).html(“”);
美元(“#导出模式”).model(‘显示’);
$(“#popover 1”).popover();
调用
escape\u javascript(render(“new”))
在js响应中呈现一个部分,我让js处理更新DOM。Dosen不起作用,我得到了以下错误:ActionView::MissingTemplate(缺少模板todo\u list/todo\u item\u fast\u create,应用程序/todo\u item\u fast\u create使用{:locale=>[:en],:formats=>[:json],:handlers=>[:erb,:builder,:coffee]}。
$("#export_modal").html("<%= escape_javascript(render("new")) %>");
<!-- trigger the modal to open -->
$("#export_modal").modal('show');
$("#popover1").popover();