Ruby on Rails Sunday, June 18, 2017



On Friday, June 16, 2017 at 6:47:49 PM UTC-4, Walter Lee Davis wrote:
There can only be one instance of an ID on any given page. And nothing you did in this example will render the id #commentable. If you look at my example, I did not use an ID on each element. The selector in $('#commentable').each should be $('#parent_of_the_list div'), and you'll have to apply whatever ID you want to search for to a parent element of the commentables. If you want to do this in a slightly simpler manner, you could apply a classname to the commentables, using the div_for helper: <%= div_for(commentable, class: 'commentable') do %>. Then you can change the jQuery to $('.commentable') and that will also work.

Walter

> On Jun 16, 2017, at 4:14 PM, fugee ohu <fuge...@gmail.com> wrote:
>
> The anchor doesn't get rendered I didn't know what to use for the element name so I used the same as I used the same variable I passed to div_for in my view, commentable Thanks in advance
>
>
> View:
>  <%= div_for(commentable) do %>
>  <% end %>
>
> js.erb
> $(document).on('turbolinks:load', function(){
>   $('#commentable').each(function(){
>     var elm = $(this);
>     elm.append('<a href="/comments/new?commentable_id=' + elm.attr('id').split('_')[1] + '">Comment</a>');
>           });
> });
>
>


 Here's my page souce and js.erb it's not appening anything to the page with the render

<div class="post">    <p>Doing nothing as usual</p>     <a data-remote="true" href="/comments/new?comment%5Bcommentable_id%5D=14&amp;comment%5Bcommentable_type%5D=Post">Comment</a>  </div>  <div class="post" id="post_14">  </div>

$(document).on('turbolinks:load', function(){
$('#post div').click.(function(){
var elm = $(this);
elm.append('<%= form_for @comment do |f| %> <%= f.hidden_field :commentable_id, value: @comment.commentable_id %><%= f.hidden_field :commentable_type, value: @comment.commentable_type %> <div class="field form-group"> <%= f.text_area :body, class: 'form-control' %> </div> <div class="field form-group"> <%= submit_tag "Post comment", class: 'btn btn-primary' %> </div> <% end %>');
});
});
 

--
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 rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/ac275ec2-5911-4692-9af2-f7f8fce055fa%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment