On Sunday, June 18, 2017 at 11:30:27 PM UTC-4, Walter Lee Davis wrote: > > > > On Jun 18, 2017, at 8:24 PM, fugee ohu <fuge...@gmail.com <javascript:>> > wrote: > > > > > > > > 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&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've skipped over the last set of instructions I sent you, and you > really need to do this in order or it will never make sense. Show me the > code you are using that loads the form into another page, and please don't > post it unless it is working in a browser and you can save comments. Get > that far, and THEN I will be happy to help you take it into Ajax land. > > Walter
_post.html.erb <%= content_tag_for(:div, post) do %> <%= simple_format post.content %> <% unless post.attachment.blank? %> <%= image_tag(post.attachment, height: 250) %><br> <% end %> <%= link_to 'Comment', new_comment_path( 'comment[commentable_type]': 'Post', 'comment[commentable_id]': post.id), remote: true %> <%= content_tag_for(:div, post, :comment) do %> <% end %> <% end %> produces <div class="post" id="post_13"> <p>listening to blues</p> <a data-remote="true" href="/comments/new?comment%5Bcommentable_id%5D=13&comment%5Bcommentable_type%5D=Post">Comment</a> <div class="comment_post" id="comment_post_13"></div></div><div class="post" id="post_14"> <p>Doing nothing as usual</p> <a data-remote="true" href="/comments/new?comment%5Bcommentable_id%5D=14&comment%5Bcommentable_type%5D=Post">Comment</a> <div class="comment_post" id="comment_post_14"></div></div> new.js.erb $('#post comment div)click.(function(){ This doesn't produce anything -- 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+unsubscr...@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/3fea1525-2b10-4718-9fa0-b6d04216aa51%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.