Google-Maps-for-Rails blank map - ruby-on-rails-3

I'm running Ruby 1.9, Rails 3.2.8 and gmaps4rails 1.5.5. I have followed the Readme, double checked I have <%= yield :scripts %> in the footer and still I have a blank white box where the map should be with no errors. I have checked using Firebug and the Google JS, the gmaps4rails JS appearing to be loading and my controller's #json variable contains lats and longs. I'm just not sure what to check on next.
Why this might be the case how I can go about troubleshooting the problem?

Related

Make the template folder if angular be functional as views folder

I'm trying to use the erb template on my angular templates folder, but the functionality is limited, for example,
The <% link_to
is working
but devise methods or even raw('sdmdslkc') pops an error that the method is not found.
for example
<%= link_to('Logout', destroy_user_session_path, :method => :delete) %>
work on views but not in angular templates (says destroy_user_session_path method not found)
Whats missing ? is it fixable?
let me see if i understand, u have some template with some tags that belongs to another language that is not angular, html, or js. if so then it is not fixable because angular sends an ajax to bring that html file and injects it to your page, alot after any server has rendered any part of the page.
my suggestion for a work around is to try and tell angular to take a server page, say it was with asp.net and i would like some server tags i would tell angular that the template is somepage.aspx while making sure that my page evetually returns plain html.

gmaps4rails map display

I am new to Ruby on Rails and am trying to use the gmaps4rails gem. The longitude and latitude show up automatically but the map is not appearing. If I look at the page source info it seems like the map is being called and created so I'm not sure why it's not showing up.
This can be seen here:
<script src="//maps.google.com/maps/api/js?v=3.8&sensor=false&client=& amp;key=& amp;libraries=geometry&language=&hl=&region=" type="text/javascript"></script>
<script src="//google-maps-utility-library-v3.googlecode.com/svn/tags/markerclustererplus/2.0.14/src/markerclusterer_packed.js" type="text/javascript"></script>
<script type="text/javascript">
Gmaps.map = new Gmaps4RailsGoogle();
Gmaps.load_map = function() {
Gmaps.map.map_options.auto_adjust = true;
Gmaps.map.initialize();
Gmaps.map.markers = [{"lat":40.8217303,"lng":-73.9551369}, {"lat":41.4925374,"lng":-99.9018131},{"lat":50.3429668,"lng":18.5540869}];
Gmaps.map.markers_conf.do_clustering = true;
Gmaps.map.create_markers();
Gmaps.map.adjustMapToBounds();
Gmaps.map.callback();
};
Do I need to include some other files in my document to show the map? And where would those documents be? I am using Ruby 1.9.3 and Rails 3.2.12.
I see this type of question has been asked and answered many times, but I haven't been able to get a solution from those answers. Thanks for any help.
UPDATE:
Here is my view:
<br />
<%= link_to 'New Bathroom', new_bathroom_path %>
<%= gmaps4rails(#json) %>
Model:
acts_as_gmappable
def gmaps4rails_address
address
Controller:
def index
#bathrooms = Bathroom.all
#json = Bathroom.all.to_gmaps4rails
respond_to do |format|
format.html # index.html.erb
format.json { render :json => #bathrooms }
end
end
and application.html
<%= yield %>
<%= yield :scripts %>
<%= stylesheet_link_tag 'gmaps4rails' %>
</body>
</html>
One thing I'm wondering is if I need to copy some assets to the app. It says on the github site.
"""""""""""""""""""""""""""""""""""""""""
gmaps4rails.css will be copied to your app after you run the Rails generator. Be sure to require this file in your view for your first steps.
For Rails 3.0.x or without assets pipeline:
<%= stylesheet_link_tag 'gmaps4rails' %>
"""""""""""""""""""""""""""""""""""""""""""
Since I don't see the gmaps4rails.css file I wonder if that's the problem. Thanks for helping.
Post Debugger Details:
Yeah that's true. I have almost no experience with this stuff. I got Firebug as you recommended and discovered that when I glide over the page the google scripts in the debugger never get highlighted. I see that it did try to make a call to googleapis.com But the time for the different actions are zero, except for blocking and waiting. This makes me think nothing was sent from the google server. Under Get gmaps4rails.css it looks in my app/asset folder and has a 404 error. I'm learning how to understand all this info, and if I'm correct it seems like the server request to google was blocked for some reason and it thinks my css file is in the asset folder. If I am correct I really have no idea where to go from here. Please tell me what info would help make this problem clearer.
You need to run 'rails generate gmaps4rails:install'. That will supply the missing bits (and the css will be sourced automatically in rails 3.2).
After that, you should be good to go (based on the original question, and barring any subsequent changes).

How do I properly setup a custom page layout - RefineryCMS 2.0.6

I have followed the instructions found on the Guides for building a custom layout:
NOTE: The portfolio is an engine of my own, not the refinerycms-portfolio.
config.layout_template_whitelist = ["application","portfolio"]
config.use_layout_templates = true
Created a portfolio.html.erb under app/views/layouts and copied everything from the application.html.erb except for the <header> section: I do not want the menu and logo shown in this layout, but all the rest
I can now see the layouts in the back end.
If I choose my portfolio page and press preview, the layout renders without the menu
However, if I go directly to /portfolios, the 'application' layout renders and not the 'portfolio'
Any ideas please?
Thank you...
Well, it seems that the namespacing introduced in the latest RefineryCMS versions prevents the layout to be picked up automatically, thus you need to manually instruct the Controller to pick up the layout in question. To this case I had to add:
render :layout => 'layouts/portfolio'
in my portfolios#index action.
Hope this helps...

Rails > Refinery CMS > Displaying an image thumbnail

I've added a custom engine into my refinery app with an image field. It all links up great and in the admin areas I can add images to it, etc.
I have a question about adding said images to a view however. At the moment I have the following code in a view:
<img src="<%= project.picture.url %>" alt="Image description" />
This displays my image nicely (although its probably not the best method - tips welcome) but I wanted to know how to access the thumbnail of that image. I noticed in others areas of refinery you can call a thumbnail method on an image object.
<%= image_fu image, ::Image.user_image_sizes[thumbnail.to_sym],
:class => "brown_border",
:class => "current_picked_image" %>
Please could someone run me through the steps of how to achieve this. The code snippet above comes out of the image_picker page code. Being quite new to rails I'm not sure how I would achieve this in my own page.
Thanks in advance for your help!
With image_fu:
<%=link_to (image_fu project.picture, '160x104'), project.picture.url %>

Rails 3 rendering iframe with raw()

So I am storing the whole embed code from youtube into my database and then outputting it like this.
<%= raw(people.video) %>
which outputs the general iframe tag copied from youtube:
<iframe src="foo" width=400 height=380></iframe>
the problem is that it actually displays that tag instead of embedding the video into the page itself. I can get around this just by storing the src in the database.... but this is part of a mini cms system and the site admins would find it much easier just to copy and past the embed code from youtube. Is there someway I can specify for the iframe to actually render instead of just spitting out the html on the page?
You can use the raw method to render the HTML of a string, are you storing it that way? You can also try the RedCloth gem - I was able to get this working like so:
<%= raw RedCloth.new(#page_content.content).to_html %>
Which allowed for my custom CMS to use the Textile markup
http://en.wikipedia.org/wiki/Textile_%28markup_language%29
I'm not 100% on what you're seeing, since raw should render HTML, but you might also try to include the embed tag using a JavaScript.write, since there are some issues related to Flash objects embedded in HTML vs JavaScript.
Let me know if this doesn't work, and if so, can you provide screenshots or copy what you're seeing on the page?