为什么私人酒吧会寻找一个js文件?

时间:2014-01-25 06:10:13

标签: ruby-on-rails-3.2 faye private-pub

这是我的application.js文件

//= require jquery
//= require jquery_ujs
//= require foundation
//= require private_pub
//= require_tree .

我的private_pub.ru文件

development:
  server: "http://localhost:9292/tweets/create"
  secret_token: "secret"
test:
  server: "http://localhost:9292/tweets/create"
  secret_token: "secret"
production:
  server: "http://localhost:9292/tweets/create"
  secret_token: "89e004720af45e61a350a30cf7ee3f50163ca141a02ea130db0b5007a0b75058"
  signature_expiration: 3600 # one hour

我的页面的一部分想要订阅频道

<%= form_for @tweet, url: tweets_path, method: :post, remote: true do |f| %>
<%= f.text_area :body, id: 'tweet-box', placeholder: "What's goin on..." %>
<%= f.submit 'tweet', id: 'tweet-btn', class: 'button' %>
<% end %>
<div id="map-canvas" />
<%= subscribe_to '/'tweets/create' %>

我在tweets控制器中创建动作的create.js.erb文件

<% publish_to "/tweets/create" do %>
var swBound_tweet = new google.maps.LatLng(<%= @tweet.location.latitude %>,<%=          @tweet.location.longitude %>)
var neBound_tweet = new google.maps.LatLng(<%= @tweet.location.latitude %>,<%= @tweet.location.longitude %>)
var tweet_coords = new google.maps.LatLngBounds(swBound_tweet, neBound_tweet)
var tweet_overlay = new Tweet(tweet_coords,"<%= @tweet.body %>", window.map)
<% end %>

我用这个启动了faye服务器:

bundle exec rackup private_pub.ru -s thin -E development config.ru

也试过

bundle exec rackup private_pub.ru -s thin -E production config.ru

我在浏览器控制台中收到此错误:

GET http://localhost:9292/tweets/create.js 404 (Not Found)

我在faye服务器日志中收到此错误:

127.0.0.1 - - [25/Jan/2014 11:16:56] "GET /tweets/create.js HTTP/1.1" 404 767 0.1431

我在提到它的所有文件中多次更改了频道名称,但我仍然遇到同样的问题。 我正在使用:

ruby - 2.0.0
rails - 3.2.13
faye - 1.0.1
private_pub - 1.0.3

我搜索了整个互联网但找不到任何东西。请帮助!

1 个答案:

答案 0 :(得分:0)

我以某种方式解决了这个问题。我在Windows 7上运行我的应用程序,突然它完美地工作。实际上存在一个由localhost:9292提供的faye.js文件。 此外,我现在从rjs模板触发事件