Javascript 使用onclick事件附加部分

Javascript 使用onclick事件附加部分,javascript,jquery,ruby-on-rails-3,Javascript,Jquery,Ruby On Rails 3,我的onclick事件可以正常工作,但在显示部分内容时: 仅显示以下文本: <%= escape_javascript(render(:partial => payment)) %> 将toggle_partial.js文件放入 views/devise/registrations NickM放在那里的其他东西都很棒 还记得基于上面的“完整jquery”代码,部分名称周围的“”吗?我猜您在一个coffeescript文件中有这个代码,该文件没有访问render方法的权限 您

我的onclick事件可以正常工作,但在显示部分内容时:

仅显示以下文本:

<%= escape_javascript(render(:partial => payment)) %>
将toggle_partial.js文件放入

views/devise/registrations
NickM放在那里的其他东西都很棒


还记得基于上面的“完整jquery”代码,部分名称周围的“”吗?我猜您在一个coffeescript文件中有这个代码,该文件没有访问render方法的权限

您必须设置一个路由,该路由会命中呈现JS的控制器操作,如下所示:

$('.plans').change ->
  $.ajax(
    type: 'GET'
    url: '/controller_name/toggle_partial'
    success: ( data, status, xhr ) ->
  )
routes.rb:

get 'controller_name/toggle_partial' => "controller_name#toggle_partial"
在该控制器中:

def toggle_partial
  respond_to do |format|
  format.js
end
并在views/controller_name中添加名为toggle_partial.js的文件,其中包含以下内容:

$(".payment").append("<%= escape_javascript(render(:partial => payment)) %>");
抱歉,如果coffeescript示例上的缩进已关闭。底线是您没有在coffeescript文件中进行渲染的权限,因此必须进行变通。
希望这有帮助。

打开页面sourse Ctrl+U,检查那里呈现了什么HTML。它只呈现单词payment))%%>咖啡脚本中是否缺少某些内容。。。我猜这是一个$.ajax调用,您有一个结束)在endOops,我确实错过了一行。添加了行并更新了答案。你说得对,这是一个ajax调用,如果你愿意的话,你可以点击一下而不是更改事件:)我已经在上面添加了一个编辑,如果你能帮我做这两种方式的路线,我就把它放进去,我得到这个错误:/usr/local/rvm/gems/ruby-1.9.3-p547/gems/actionpack-3.2.3/lib/action\u dispatch/routing/mapper.rb:179:“default\u controller\u and\u action”:缺少:controller(ArgumentError)可能是get'controller_name/toggle_partial'=>“controller_name#toggle_partial”
def toggle_partial
  respond_to do |format|
  format.js
end
$(".payment").append("<%= escape_javascript(render(:partial => payment)) %>");
$('.plans').change ->
  $.ajax(
    type: 'GET'
    url: '/controller_name/toggle_partial'
    success: ( data, status, xhr ) ->
  )