Rails form partial help - nested resource

Hi all,

I apologize for the funky subject of this post.

I have a partial I created while recreating a railscasts example (nested resources part 2 - #197 Nested Model Form Part 2 - RailsCasts) and I've come to a halt.

What I want to do is force a question to be asked if this is a new "survey". Basically I want to build one question in the new action and display it in the form and remove the link_to_remove_fields helper - BUT I also want to be able to add AND remove new questions. While making sure that the inital question cannot be removed.

Hopefully this makes sense. Below is my partial code:

[code]

<div class="fields">   <%= f.error_messages %>

  <p>     <%= f.text_field :content %>

    <% unless f.object.new_record? %>     <%= link_to_remove_fields "remove", f %>     <% end %>   </p> </div>

[/code]

I added <% unless f.object.new_record? %> to omit the remove link on the new action and this works. However when someone clicks the 'add question' (code not shown but identical to the railscast code) it display the fields but obviously also omits the remove link for the newly added questions.

How can I omit the first remove link but show the remove link for newly added questions in the new action? Please let me know if you need more info!

Thank you! -Tony

Hi Tony,

Hope ur using Jquery

Add the class to the remove link and add the following line of code

<div class="fields">   <%= f.error_messages %>

  <p>     <%= f.text_field :content %>

    <% unless f.object.new_record? %>     <%= link_to_remove_fields "remove", f,:class=>"remove" %>     <% end %>   </p> </div>

$(document).ready(function(){ $(".remove").eq(0).remove() })

Tony Tony wrote:

babu nair wrote:

Hi Tony,

Hope ur using Jquery

Add the class to the remove link and add the following line of code

<div class="fields">   <%= f.error_messages %>

  <p>     <%= f.text_field :content %>

    <% unless f.object.new_record? %>     <%= link_to_remove_fields "remove", f,:class=>"remove" %>     <% end %>   </p> </div>

$(document).ready(function(){ $(".remove").eq(0).remove() })

Thank you!!

Using jquery now! Is there really that big of a difference? I know everybody raves about it - more lightweight is all?

For others to learn here's what I did.

1. I put babu's script in the bottom of the form (eventually I'll put it in the head via a yield). 2. Put the link_to_remove_fields in a span with class remove (<span class="remove"><%= link_to_remove_fields "remove", f %></span>)

That's it! Hope this helps someone else out there.