Ruby on Rails Sunday, June 18, 2017

> On Jun 18, 2017, at 7:58 PM, fugee ohu <fugee279@gmail.com> 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>');
> > });
> > });
> >
> >
>
>
>
> Since I'm returning the new comment form shouldn't it be rendered in a div that looks something like post_14_comment_5 or something

Show me the content_tag_for code you are using in your view. Copy and paste. The id that will be rendered depends on the instance variable that you send into the helper. It doesn't care about the surrounding page or the route that it took to render it.

If you pass in <%= content_tag_for :li, @foo do %> then you will get <li id="foo_124">, no matter on which page you put this. (The controller for that page must set @foo to be an ActiveRecord object, but that's the only expectation.)

Walter

--
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/44DC27F9-48D6-4EB7-B4FD-895585C15715%40wdstudio.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment