我试图通过jquery渲染表单来添加评论,但我不断收到此错误:
undefined method `render' for #<#<Class:0x007fc8aaa18860>:0x007fc8a0fddfc0>
这是js.erb文件:
$(document).on('turbolinks:load', function(){
console.log('test');
$('.reply-comment-form').on('click', function(e) {
e.preventDefault();
body = this.id;
$('.nest-' + body).append( "<%= escape_javascript(render partial: 'comment_reply_form')%>");
});
});
我尝试了多次不同的代码迭代,但仍然是同样的错误。
当我试着说时,例如:
$('.nest-' + body).append( " This is a test");
它应该这样做。
我在这里检查了其他问题,我看不出有什么不同于我做的事情,我有点卡住了。
以下是我试图呈现的内容:
<div class="body">
<span class="tip tip-left"></span>
<div class="message font-medium">
<%= form_for @message do |form| %>
<%= form.label :Reply_to_comment %> <br />
<%= form.text_area :content, :rows => 5, :cols => 80, autofocus: true %> <br />
<%= form.hidden_field :entry_id, value: params[:entry_id] %>
<%= form.hidden_field :parent_id, :value => params[:parent_id] %>
<%= form.submit "Submit"%>
<% end %>
</div>
<div class="flerowspb">
<span class="font-small">
</span>
</span>
</div>
</div>
由于
答案 0 :(得分:2)
好的,所以我遇到了答案,我无法从资产文件夹中拨打render
。
答案 1 :(得分:1)
尝试使用j render:
$('.nest-' + body).append( "<%= j render 'comment_reply_form' %>");
我认为部分视图的路径应该更准确,比如'controller_name / view / partial',或者代码中的任何内容。
答案 2 :(得分:1)
尝试以下
$('.nest-' + body).append( "<%= escape_javascript(render("messages/comment_reply_form"))%>");
或
$('.nest-' + body).html("<%= escape_javascript(render("messages/comment_reply_form")) %>");