Forum: Ruby on Rails Edit the form and produced Couldn't find ResortBasic without an ID

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Balaji R. (Guest)
on 2008-12-09 11:01
(Received via mailing list)
Hi
 Im using the 5 views and one controller.To edit the form and
produced Couldn't find ResortBasic without an ID

View code
.........................................editresortbasic.html.erb


<% form_tag :action => 'editresortbasic',:controller=>'Wizard' do %>

 <br><br>
   <h3 align="center">Edit Resort Basic</h3>
 <table align="center">
    <tr>
        <td>
           <b>Resort Name</b>
        </td>
        <td>

            <%= text_field_tag :resortname %>
        </td>

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

           <!--%=f.collection_select(resort_basic.resorttypeid,
ResortType.find(:all),id,resorttype)%-->
           <%=select("resorttype", "resorttypeid",
ResortType.find(:all).collect {|p| [ p.resorttype, p.id ] })%>
       </td>
    </tr>

    <tr>
        <td>
           <b>Resort Class</b>
       </td>
       <td>
           <!--%=collection_select(:resortclassid,
ResortClass.find(:all),:id,:resortclass)%-->
           <%=select("resortclass", "resortclassid",
ResortClass.find(:all).collect {|p| [ p.resortclass, p.id ] })%>

       </td>
    </tr>
    <tr>
        <td>
           <b>Season</b>
       </td>
       <td>
           <!--%=collection_select(:seasonid,
Season.find(:all),:id,:seasontype)%-->
           <%=select("seasontype", "seasontypeid",
Season.find(:all).collect
{|p| [ p.seasontype, p.id ] })%>
       </td>
    </tr>
    <tr>
        <td>
           <b>Website</b>
       </td>
       <td>
           <%= text_field_tag :website %>
       </td>
    </tr>
 </table>
 <table align="center">
    <tr>

       <td>

            <%= submit_tag "Next",:class =>'myButton' %>
     </td>

    </tr>
 </table>
  <% end %>

controller code.....

def editresortbasic

    @resort_basic = ResortBasic.find(params[:id])
    if request.post?
   @resort_basic.update_attributes(params[:resort_basic])
       # flash[:notice] = 'City was successfully updated.'

       # render :action=>'editresortcontact'
  end

but i got the bugs

------------------------
ActiveRecord::RecordNotFound in WizardController#editresortbasic

Couldn't find ResortBasic without an ID

RAILS_ROOT: D:/RubyProjects/TestEcohols
Application Trace <http://localhost:3000/wizard/editresortbasic#> |
Framework
Trace <http://localhost:3000/wizard/editresortbasic#> | Full
Trace<http://localhost:3000/wizard/editresortbasic#>

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 `editresortbasic'
:1:in `start'

So give any idea or solution

thanks

balaji
MaD (Guest)
on 2008-12-09 13:06
(Received via mailing list)
i think your params[:id] does not get set in your view. so whenever
you hit the submit-button, you get that error.

maybe i'm missing something, but a debugger at the beginning of your
method-body in your controller should help clearify that issue.

MaD
Balaji R. (Guest)
on 2008-12-09 13:50
(Received via mailing list)
Hi

im using edit form  and i got error

ActiveRecord::RecordNotFound in WizardController#editresortbasic

Couldn't find ResortBasic without an ID

controller code

Error in line:
          @resort_basic =ResortBasic.find(params[:id])   if anybody know
give idea


debugger the code using in view page

<%= debug(params)%>
and i got the error :


--- !map:HashWithIndifferentAccess
controller: wizard
action: editresortbasic

Thanks
Ar C. (Guest)
on 2008-12-09 16:43
You obviously don't have the :id available...

Why don't you just run your app, go to edit a resort, and view the page
source generated for that first page (step 1 in your wizard?).

What does the form element on the rendered page look like? Does it
mention the current resort_basic id?
Balaji R. (Guest)
on 2008-12-10 11:29
(Received via mailing list)
Hi
Im using the 5 views and one controller.To edit the form and produced
Couldn't find ResortBasic without an ID

View code
.........................................editresortbasic.html.erb


<% form_tag :action => 'editresortbasic',:controller=>'Wizard' do %>

 <br><br>
   <h3 align="center">Edit Resort Basic</h3>
 <table align="center">
    <tr>
        <td>
           <b>Resort Name</b>
        </td>
        <td>

            <%= text_field_tag :resortname %>
        </td>

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

           <!--%=f.collection_select(resort_basic.resorttypeid,
ResortType.find(:all),id,resorttype)%-->
           <%=select("resorttype", "resorttypeid",
ResortType.find(:all).collect {|p| [ p.resorttype, p.id ] })%>
       </td>
    </tr>

    <tr>
        <td>
           <b>Resort Class</b>
       </td>
       <td>
           <!--%=collection_select(:resortclassid,
ResortClass.find(:all),:id,:resortclass)%-->
           <%=select("resortclass", "resortclassid",
ResortClass.find(:all).collect {|p| [ p.resortclass, p.id ] })%>

       </td>
    </tr>
    <tr>
        <td>
           <b>Season</b>
       </td>
       <td>
           <!--%=collection_select(:seasonid,
Season.find(:all),:id,:seasontype)%-->
           <%=select("seasontype", "seasontypeid",
Season.find(:all).collect
{|p| [ p.seasontype, p.id ] })%>
       </td>
    </tr>
    <tr>
        <td>
           <b>Website</b>
       </td>
       <td>
           <%= text_field_tag :website %>
       </td>
    </tr>
 </table>
 <table align="center">
    <tr>

       <td>

            <%= submit_tag "Next",:class =>'myButton' %>
     </td>

    </tr>
 </table>
  <% end %>

controller code.....

-----------------------------------------------

def editresortbasic

    @resort_basic = ResortBasic.find(params[:id])
    if request.post?
   @resort_basic.update_attributes(params[:resort_basic])
       # flash[:notice] = 'City was successfully updated.'

       # render :action=>'editresortcontact'
  end
In controller code now i used
-----------------------------------------------------------------

def editresortbasic

    @resort_basic = ResortBasic.find_by_id (params[:id])
    if request.post?
   @resort_basic.update_attributes(params[:resort_basic])
        flash[:notice] = ResortBasic was successfully updated.'

       # render :action=>'editresortcontact'
  end

but i  select the edit button and got the text only .values are not
diaplay.so give any idea.

Thanks for ur help
Thorsten M. (Guest)
on 2008-12-10 11:40
(Received via mailing list)
If you post one and the same question several times,
you could at least have a look at the responses for each post:

http://groups.google.ca/group/rubyonrails-talk/bro...
This topic is locked and can not be replied to.