On Jun 29, 2015, at 8:18 AM, Padmahas Bn <[email protected]> wrote:
> Hello Elizabeth McGurty that worked!!! (with little modification)
>
> Unique id for each modal generated fine but when calling that modal the the
> link_to didn't worked for me.
>
> I had to change this
> <td><%= link_to 'Show', "data-toggle" => "modal", :class => 'btn
> btn-default', :id => designation_dict.dd_id %></td>
>
> To this:
> <td><%= render :partial => "show", :locals => {:designation_dict =>
> designation_dict} %></td>
>
> <td><%= link_to 'Show', designation_dict, "data-target" =>
> "#myModal_#{designation_dict.id}", "data-toggle" => "modal", :class => 'btn
> btn-default' %></td>
A quick tip for generating HTML ID attributes from Rails: there is a helper
method named #dom_id. You use it like this: dom_id(designation_dict), and by
default, you get [object classname]_[numerical id] as a string. It takes an
optional prefix as the second argument, which gets prepended, so if you did
dom_id(designation_dict, :edit), you would get edit_designation_dict_42 out of
it. This comes in really handy when you are setting up an ID in a view, and
then again in a UJS file or similar. You don't have to fiddle around with a lot
string concatenation in two places that way.
Walter
>
> Working like a charm. Thank you a lot. I was searching for this from past 20
> days.
>
> Thank you again.
>
> On Mon, Jun 29, 2015 at 12:27 AM, Elizabeth McGurty <[email protected]>
> wrote:
> <td><%= render :partial => "show", :locals => {:designation_dict =>
> designation_dict} %></td>
>
> In your locals you are sending designation_dict. Is there something in
> designation_dict that is unique to all the records? Hopefully an id...
>
> Do you have that unique field, let's call it dd_id?
>
> Now this is going to seem to be Ad nauseam, and Mr Law refers to
> id="MyModal", which I do not see, yet he is entirely correct. What I
> understand is that you have an each statement that is iteratively loading...A
> partial, and numerous link_to
>
> For later, however you need it as params or js elements, each of these
> elements must contain -- at some required element level -- a unique html id.
>
> Look at the changes I made to your partial:
>
> <div class="modal-body" id="modal-body_<%= designation_dict.dd_id %>">
> <div class="table-responsive" id="table-responsive_<%= designation_dict.dd_id
> %>">
> <table class="table table-striped table-show">
> <tr>
> <th>
> <strong>Designation code:</strong>
> </th>
> <td>
> <%= designation_dict.desig_code %>
> </td>
> </tr>
>
> <tr>
> <th>
> <strong>Designation description:</strong>
> </th>
> <td>
> <%= designation_dict.designation %>
> </td>
> </tr>
> </table>
> </div>
>
> Do you see now how you are generating unique html ids?
>
> <td><%= link_to 'Show', "data-toggle" => "modal", :class => 'btn
> btn-default', :id => designation_dict.dd_id %></td>
>
>
> Once you make these changes, and then View Page Source, you will see that a
> unique id has been generated.... Folks will probably offer more elegance
> solutions, but the spirit remains the same.
>
> Hope this helps...
>
> Liz
>
>
> On Monday, May 4, 2015 at 10:47:06 AM UTC-4, Padmahas Bn wrote:
> After following so many Stackoverflow and other related posts I was able to
> render modal (_show.html.erb) from inside index.html.erb. But the problem the
> parameter I'm sending is showing same id and other details for all show
> buttons.
>
> For instance if there are 5 different members listed in index.html.erb, when
> I press the corresponding show button, the same id and other details as the
> first member is showing for all members.
>
> index.html.erb
> <tbody>
> <% @designation_dicts.each do |designation_dict| %>
> <tr>
> <td><%= designation_dict.desig_code %></td>
> <td><%= designation_dict.designation %></td>
>
> <td><%= render :partial => "show", :locals => {:designation_dict =>
> designation_dict} %></td>
> <td><%= link_to 'Show', "#myModal", "data-toggle" => "modal", :class =>
> 'btn btn-default' %></td>
> <td><%= link_to 'Edit', edit_designation_dict_path(designation_dict),
> :class => 'btn btn-default' %> </td>
> <td><%= link_to 'Destroy', designation_dict, method: :delete, data: {
> confirm: 'Are you sure?' } , :style => 'color:#FFFFFF', :class => 'btn
> btn-danger' %></td>
> </tr>
> <% end %>
> </tbody>
>
> Part of the modal (_show.html.erb)
> <div class="modal-body"> <div class="table-responsive">
> <table class="table table-striped table-show">
> <tr>
> <th>
> <strong>Designation code:</strong>
> </th>
> <td>
> <%= designation_dict.desig_code %>
> </td>
> </tr>
>
> <tr>
> <th>
> <strong>Designation description:</strong>
> </th>
> <td>
> <%= designation_dict.designation %>
> </td>
> </tr>
> </table>
> </div>
>
> Thank you
>
> --
> 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/17d2a1b5-f7ed-40b7-acf0-daf0a70340a0%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/CAC_h78%2BSVSs_8uU%3DGAHYOHtiKijn7U4oiy%3DjV55HDyP-x5dADw%40mail.gmail.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/21DD5BFE-B6C0-493B-B747-4DD20089C67D%40wdstudio.com.
For more options, visit https://groups.google.com/d/optout.