# Edit the form

**URL:** <https://www.ruby-forum.com/t/edit-the-form/155300>\
**Category:** Rails\
**Created:** [December 10, 2008, 11:34am UTC](https://www.ruby-forum.com/t/edit-the-form/155300 "2008-12-10T11:34:26Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![rbalaji](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/e19b73/32.png) [@rbalaji](https://www.ruby-forum.com/u/rbalaji)\
**Post date:** [December 10, 2008, 11:34am UTC](https://www.ruby-forum.com/t/edit-the-form/155300/1 "2008-12-10T11:34:26Z")

</div>

Hi i used the code in editresortbasic.html.erb

\<% form\_for @editresortbasic do %\>

## wizard controller.rb

def editresortbasic

@resort\_basic =ResortBasic.find\_by\_id(params[:id])

if request.post?  
@resort\_basic.update\_attributes(params[:resort\_basic])  
end

But i click the edit button and i got the text box empty.Im new in ruby  
and  
here im only person doing this application and i can’t understand the  
error.So i frequently asked the question to you.Thanks for ur help.give  
any  
idea?

---

<div class="post-metadata">

**Author:** ![rbalaji](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/e19b73/32.png) [@rbalaji](https://www.ruby-forum.com/u/rbalaji)\
**Post date:** [December 10, 2008, 11:46am UTC](https://www.ruby-forum.com/t/edit-the-form/155300/2 "2008-12-10T11:46:17Z")

</div>

there are two main ways to create forms in RoR:

- use the helpers that end with \_tag, those create “pure” html  
tags and are not too much aware of objects contents (like  
@editresortbasic)
- use it like that:

in the controllers edit action get @editresortbasic like:

def edit  
@resort\_basic = ResortBasic.find(params[:id])

# this assumes, that the id of the ResortBasic to be edited is

handed to this action  
end

then you can built your view like this:

\<% form\_for @resort\_basic do |f| %\>  
\<%= f.text\_field :name %\>  
\<% end %\>

That way the form “knows” of the @resort\_basic object  
and using the textfield that way, Rails knows that it’s linked  
to this object and reads the value from @resort\_basic.name  
Same for all the other fields in your form that are columns  
in the resort\_basics table.

you can read many details about that in all RoR online tutorials,  
and you should (must) get comfortable with that kind of Rails syntax.  
There is not much sense in starting a project without knowing  
at least the basic syntax of the framework.

---

<div class="post-metadata">

**Author:** ![rbalaji](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/e19b73/32.png) [@rbalaji](https://www.ruby-forum.com/u/rbalaji)\
**Post date:** [December 10, 2008, 11:55am UTC](https://www.ruby-forum.com/t/edit-the-form/155300/3 "2008-12-10T11:55:07Z")

</div>

You are passing params[:id] as argument to find, so no need to use  
find\_by\_id. Its enough to use  
@resort\_basic =ResortBasic.find(params[:id])

---

<div class="post-metadata">

**Author:** ![rbalaji](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/e19b73/32.png) [@rbalaji](https://www.ruby-forum.com/u/rbalaji)\
**Post date:** [December 10, 2008, 11:55pm UTC](https://www.ruby-forum.com/t/edit-the-form/155300/4 "2008-12-10T23:55:29Z")

</div>

What does the link which directs you to the edit method for the WizardS  
Controller look like? You aren’t getting an ID passed in the params.

Your edit.html.erb code has nothing to do with this error, this comes  
from the form that is going TO the edit view.

How is the link TO the edit form spec’ed? I assume you’re currently on  
an index or show view…

---

<div class="post-metadata">

**Author:** ![rbalaji](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/e19b73/32.png) [@rbalaji](https://www.ruby-forum.com/u/rbalaji)\
**Post date:** [December 10, 2008, 12:51pm UTC](https://www.ruby-forum.com/t/edit-the-form/155300/5 "2008-12-10T12:51:34Z")

</div>

Hi  
i used the same code but i got the error:

## controller code:

def edit

@resort\_basic =ResortBasic.find(params[:id])  
end

## View code:

\<% form\_for(@resort\_basic) do|f| %\>

### Edit Resort Basic
  

```
<tr>
    <td>
       <b>Resort Class</b>
   </td>
   <td>
       <%=f.collection_select(:resortclassid,

```

ResortClass.find(:all),:id,:resortclass)%\>

```
   </td>
</tr>
<tr>
    <td>
       <b>Season</b>
   </td>
   <td>
       <%=f.collection_select(:seasonid,

```

Season.find(:all),:id,:seasontype)%\>

  
  
  

| **Resort Name** | 

```
        <%=f.text_field :resortname %>
    </td>

</tr>
<tr>
    <td>
       <b>Resort Type</b>
   </td>
   <td>

       <%=f.collection_select(resort_basic.resorttypeid,

```

ResortType.find(:all),id,resorttype)%\>

 |
|   
**Website**  
 |   
\<%=f. text\_field :website %\>  
 |

```
   <td>

        <%=f.submit "Next",:class =>'myButton' %>
 </td>

</tr>

```

|
| |

 \<% end %\>

I got the controller bugs:

* * *

ActiveRecord::RecordNotFound in WizardController#edit

Couldn’t find ResortBasic without an ID

RAILS\_ROOT: D:/RubyProjects/TestEcohols  
Application Trace [http://localhost:3000/wizard/edit#](http://localhost:3000/wizard/edit#) | Framework  
Trace[http://localhost:3000/wizard/edit#](http://localhost:3000/wizard/edit#)| Full  
Trace [http://localhost:3000/wizard/edit#](http://localhost:3000/wizard/edit#)

D:/Program Files/NetBeans  
6.1/ruby2/jruby-1.1/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active\_record/base.rb:1248:in  
`find_from_ids' D:/Program Files/NetBeans 6.1/ruby2/jruby-1.1/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/base.rb:504:in `find’  
vendor/plugins/paginating\_find/lib/paginating\_find.rb:103:in  
`find_with_pagination' app/controllers/wizard_controller.rb:233:in `edit’  
:1:in `start’

```
                           def edit

```

Error in line: @resort\_basic =ResortBasic.find(params[:id])

```
                             end

```

I used the same code but i got the bugs.so i can’t understand the  
error.Help  
for me and give link ruby on rails tutorials

Thanks
