El martes, 6 de mayo de 2014 13:19:30 UTC+2, Alfredo Barrero escribió:
>
> 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 <http://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:
>
> Started POST "/users/1/gallery" for 127.0.0.1 at 2014-05-06 13:15:39 +0200
> Processing by UsersController#gallery as JS
>   Parameters: 
> {"authenticity_token"=>"MQ2R+gPxDpCjEVzNrTheQD40nDUblLnlONls5ahub8E=", 
> "id"=>"1"}
> CHANGING  Rendered users/_change.html.erb (0.1ms)
>   Rendered users/gallery.js.erb within layouts/user-layout.html.erb (2.6ms)
> Completed 200 OK in 87ms (Views: 85.3ms | ActiveRecord: 0.0ms)
>
> 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/d9e11a21-9ef1-483d-a0e2-acd3ac37bfc7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to