在railscast ajax轮询教程(#229)之后实现ajax轮询。运行服务器后不会弹出警报框。
应用程序/视图/报价/ index.js.erb的:
alert('Hey');
QuotePoller.poll();
应用程序/资产/ javascrips / quotes.coffee:
@QuotePoller =
poll: ->
setTimeout @request, 1000
request: ->
$.get($('#quotes').data('url'))
jQuery ->
if $('#quotes').length > 0
QuotePoller.poll()
应用程序/视图/报价/ index.html.erb:
<div id="quotes" data-url="<%= quotes_url %>">
<table>
<thead>
<tr>
<th>Content</th>
<th colspan="3"></th>
</tr>
</thead>
<tbody>
<% @quotes.each do |quote| %>
<tr>
<td><%= quote.content %></td>
<td><%= link_to 'Show', quote %></td>
<td><%= link_to 'Edit', edit_quote_path(quote) %></td>
<td><%= link_to 'Destroy', quote, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
</tbody>
</table>
</div>
答案 0 :(得分:0)
您需要在app / assets / javascripts / application.js中添加以下代码:
$(function() {
$.getScript("/quotes.js");
});
弹出窗口将显示在localhost:3000 / quotes。
答案 1 :(得分:0)
通过将其添加到我的索引操作
来解决它应用程序/控制器/ quotes_controller.rb:
respond_to do |f|
f.js { render :content_type => 'text/javascript' }
f.html
end