嗨大家我试图使用ajax remote true渲染部分。
在我的“新拍卖”链接中,我有远程真插入。 我还创建了一个单独的'new.js.erb'文件。点击“新拍卖”链接后,我的Chrome控制台会显示状态200 OK。此外,当我单击响应时,我可以看到正在读取'new.js.erb'文件。然而,我希望显示dosnt的形式出现!
它给了我任何错误,所以我不知道该怎么做或如何继续?!
以下是我的new.js.erb文件中的代码:
$('#current_auctions').prepend("<%= j render partial: 'form' %>");
}
以下是我的实际表单的代码(_form.html.erb):
<div class="form-group" id="new_auction">
<%=form_for @auction do |a|%>
<%=a.label :titlee%>
<%=a.text_field :title, class:"form-control"%>
<%=a.label :detailss%>
<%=a.text_area :details,class:"form-control"%><br>
<%=a.label :endz_onn%>
<%=a.date_field :ends_on, class:"form-control"%><br>
<%=a.label :reserve_pricee%>
<%=a.number_field :reserve_price, class:"form-control"%><br>
<%=a.submit "Create", class: "btn btn-default"%>
<%end%>
</div>
以下是我的索引页面的代码(index.html.erb - 这是我想要在上面添加新表单的地方)
<div id="current_auctions">
<h3 class="heading"> Current Auctions </h3><hr>
<%@auctions.each do |auction| %>
<strong><%=link_to auction.title, auction%><br></strong>
<%=auction.details%><br><br>
Ends on:<%=auction.ends_on%><br>
Reserve Price:$<%=auction.reserve_price%><br>
<hr>
<%end%>
</div>
我的link_to看起来像这样:
<%=link_to "New Auction", new_auction_path, remote: true%><br>
我的路线如下:
如果我预先添加常规文本,它会显示出来,所以我知道它渲染部分的方式存在问题,但看起来对我来说是正确的,我想理解为什么它不起作用
我正在使用Ruby on Rails,Sublime Text 2,postgresql
答案 0 :(得分:1)
我会为表单
创建一个单独的<div>
index.html.erb中的:
<div id="current_auctions">
<div id="insert_form"> </div>
<h3 class="heading"> Current Auctions </h3><hr>
<%@auctions.each do |auction| %>
<strong><%=link_to auction.title, auction%><br></strong>
<%=auction.details%><br><br>
然后在你的部分中使用它:
$('#insert_form').html("<%= j render partial: 'form' %>");
答案 1 :(得分:0)
我会将id
直接添加到index.html.erb
<%=link_to "New Auction", new_auction_path, id: 'new_auction_link' remote: true%><br>
而不是new.js.erb
$('#new_auction_link').after('<%= j render 'form' %>');