使用onclick事件附加部分内容

时间:2014-10-23 21:13:12

标签: javascript jquery ruby-on-rails-3

我的onclick事件有效,但是当它显示部分时:

仅显示文字:

<%= escape_javascript(render(:partial => payment)) %>

我希望它能够获取parial并显示它

这是我的代码:

$(".payment").append("<%= escape_javascript(render(:partial => payment)) %>"); 

尝试了&#34;&#34;和&#39;&#39;付款

的完整jquery代码
$(document).ready ->
  $('.plans').change ->
    $(".payment").append("<%= escape_javascript(render(:partial => 'payment')) %>");

编辑:

如果有人在将来看这个,因为我使用了设计,这对我有用:

  devise_scope :user do
    get 'registrations/toggle_partial' => "registrations#toggle_partial"
  end

将toggle_partial.js文件放入

views/devise/registrations

尼克斯放在那里的其他一切都很棒......

还要记住&#39;&#39;部分名称周围

1 个答案:

答案 0 :(得分:2)

基于你上面的'完整jquery'代码,我猜你在coffeescript文件中有这个,它无法访问render方法。

你将不得不设置一条路线来击中呈现JS的控制器动作,如下所示:

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文件中执行以下操作:

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

很抱歉,如果coffeescript示例中的缩进已关闭。最重要的是,您无权访问coffeescript文件中的渲染,因此您必须进行解决。 希望这会有所帮助。