ruby-on-rails-3.2fayeprivate-pub

why does private pub look for a js file?


Here's my application.js file

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

My private_pub.ru file

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

A part of my page which wants to subscribe to a channel

<%= 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' %>

The create.js.erb file for my create action in the tweets controller

<% 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 %>

I started the faye server with this:

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

also tried with

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

I'm getting this error in the browser console:

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

I'm getting this error in the faye server logs:

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

I've changed the channel name several times in all the files where it is mentioned but I still get the same problem. I'm using:

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

I've searched the entire internet but couldn't find anything.Please help!


Solution

  • I somehow fixed the problem. I ran my application on windows 7 and suddenly its working perfectly. There actually exists a faye.js file that is provided by localhost:9292. Also, I'm now trigger the events from an rjs template