I'm having a new issue related with this. I have been searching the reason
of it but I cannot fix it.
I have this button:
*<%= button_to 'Go to Gallery', loading_gallery_path,
remote: true %>*
And this is the controller function:
*def gallery respond_to do |format| format.html { redirect_to
user_path(current_user.id) } format.js format.json { render
action: 'show', status: :created, location: @comment } end end*
This is the code of the 'gallery.js.erb' => *$('#user-comments').html("<%=
escape_javascript render(:partial => 'change.html.erb') %>");*
And this is the template that the browser is not rendering: *<% print
'CHANGING' %><p>Testing<p>*
In the log of the application I can see that this template is being opened
by the browser but never rendered in the screen. Below is the log:
El lunes, 5 de mayo de 2014 14:05:03 UTC+2, Alfredo Barrero escribió:
>
> I can't believe it , that was the error!. Thank you so much and sorry for
> the newbie question... :(
>
> El lunes, 5 de mayo de 2014 13:47:28 UTC+2, Walter Lee Davis escribió:
>>
>>
>> On May 5, 2014, at 7:22 AM, Alfredo Barrero wrote:
>>
>> > Hello Lauree,
>> >
>> > I change the way to introduce Ajax on the application, I'm following
>> the "Agile Web development for Rails 4.0".
>> >
>> > This is the part of the part of the view related with the issue:
>> > <%= form_for(@comment) do |f| %>
>> > <% if @comment.errors.any? %>
>> > <div id="error_explanation">
>> > <h2><%= pluralize(@comment.errors.count, 'error') %>
>> prohibited this comment from being saved:</h2>
>> >
>> > <ul>
>> > <% @comment.errors.full_messages.each do |msg| %>
>> > <li><%= msg %></li>
>> > <% end %>
>> > </ul> r
>> > </div>
>> > <% end %>
>> > <p style= 'padding-top:10px;'>
>> > <%= f.text_field :text , class:'form-control', required:'',
>> placeholder: 'What is your plan?',style: 'display:table-cell'%>
>> > <%= f.submit 'Post', class: 'btn', style:
>> 'display:table-cell' %>
>> > <%= button_to 'Post', comments_path(comment_id: f),
>> > remote: true %>
>> > </p>
>> >
>> > <% end %>
>> >
>> > When 'button_to' is selected in the browser it goes to this action in
>> the comments_controller.rb :
>> >
>> > def create
>> > @comment = Comment.new(comment_params)
>> > print 'ID of the user that already saved the comment: ' + String(
>> current_user.id)
>> > @comment.users_id = current_user.id
>> >
>> > respond_to do |format|
>> > if @comment.save
>> > format.html { redirect_to user_path(current_user.id) }
>> > format.js {}
>> > format.json { render action: 'show', status: :created,
>> location: @comment }
>> > else
>> > format.html { render action: 'new' }
>> > format.json { render json: @comment.errors, status:
>> :unprocessable_entity }
>> > end
>> > end
>> > end
>> >
>> > But the line 'format.js' is not launching the file 'create.js.erb' that
>> is in the same folder of the rest of the views of comments... When I check
>> the log it creates the comment and redirect the page to "user_path" but
>> never loads the js file.
>> >
>> > Any idea?. I did try with the original app of the book and it works
>> fine, so the problem is in my code.
>> >
>> > Thanks & Best regards.
>> >
>> >
>>
>> Try adding :remote => true to the form_for method call that defines the
>> form. The issue, as I imagine it, is that the form is submitting when the
>> button is pressed, and that will go to the .html handler, not the .js
>> handler. You need to trap the entire form submission, not the click of one
>> button, and redirect its action. That's what the rails_ujs script does when
>> you add :remote => true to the form tag.
>>
>> Walter
>>
>> >
>> >
>> > El lunes, 5 de mayo de 2014 06:57:32 UTC+2, Lauree Roberts escribió:
>> > Hello Alfredo,
>> >
>> > The problem here is the script tag as you are using it without any
>> attribute as type/language.
>> >
>> > Please refer
>> https://developer.mozilla.org/en/docs/Web/HTML/Element/script for more
>> details. The script tag if not given type will be treated as JavaScript
>> tag.
>> >
>> > Hence in your case browser is considering that this script tag contains
>> JavaScript code and giving such errors.
>> >
>> > For using coffeescript in script tags you can refer
>> http://forgivingworm.wordpress.com/2010/09/27/running-coffeescript-in-browser/
>>
>> >
>> >
>> > Thanks,
>> > Lauree Roberts
>> > Ruby on Rails Developer
>> > Allerin Technologies
>> >
>> >
>> >
>> >
>> > On Saturday, May 3, 2014 11:54:32 PM UTC+5:30, Alfredo Barrero wrote:
>> > Hi all,
>> >
>> > I'm starting with Ajax but I have a issue, should be a noobie issue but
>> it makes me crazy hehe. Could anyone tell me what's going on?.
>> >
>> > I'm following this guide
>> http://guides.rubyonrails.org/working_with_javascript_in_rails.html, and
>> with the following code my application does not recognize the action.
>> >
>> >
>> > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
>> http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>> > <html>
>> > <head>
>> > <title>Hola Mundo con AJAX, version 2</title>
>> >
>> > <script>
>> >
>> > paintIt = (element, backgroundColor, textColor) -> SHOW
>> ERROS LIKE 'unresolved variable or type element'
>> > element.style.backgroundColor = backgroundColor
>> > if textColor?
>> > element.style.color = textColor
>> >
>> > </script>
>> >
>> > </head>
>> > <body><a href="#" onclick="paintIt(this, '#990000')">Paint it
>> red</a></body>
>> > </html>
>> >
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> Groups "Ruby on Rails: Talk" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> an email to [email protected].
>> > To post to this group, send email to [email protected].
>> > To view this discussion on the web visit
>> https://groups.google.com/d/msgid/rubyonrails-talk/4fbbcf42-b784-4a77-93c4-cbc59bda2175%40googlegroups.com.
>>
>>
>> > For more options, visit https://groups.google.com/d/optout.
>>
>>
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/rubyonrails-talk/770b752c-2c6a-4d20-b50c-f7b420417601%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.