Could not generate a form

I generated controller and view as.
“script/generate controller home index”

Tried to make a form .Edited the index method in home controller and
added follwoing stuff inside

<%= form_for @home do |f| %>
<%= f.label :first_name %>:
<%= f.text_field :first_name %>

<%= f.label :last_name %>:
<%= f.text_field :last_name %>

<%= f.submit %>
<% end %>

Then started the server But it didnt generate form.Am i missing
anything(i hope so).Should anything be added in index.html.erb file in
home view?Or else?Using rails 3.0.7.I Have read the form generation
tutorils but could not understand lot.So asking here.

Regards

Amrit Pal P.

Thanks

On 24 April 2011 10:28, amrit pal pathak [email protected]
wrote:

I generated controller and view as.
“script/generate controller home index”

Tried to make a form .Edited the index method in home controller and
added follwoing stuff inside

You added the code below to the index method of the home controller
(so in controllers/home_controller.rb)? If so then it is not
surprising it did not work. Where did you put it?

Then started the server But it didnt generate form.Am i missing
anything(i hope so).Should anything be added in index.html.erb file in
home view?Or else?Using rails 3.0.7.I Have read the form generation
tutorils but could not understand lot.So asking here.

What do you see if you look at the html generated by the above
(assuming you have actually put it in one of the views)? In the
browser do View > Page Source or similar (dependant on browser).

Colin

On Apr 24, 7:25am, Colin L. [email protected] wrote:

surprising it did not work. Where did you put it?
Yes it put in index method of home controller.(Seemz it is
wrong).
Can you please tell me where to put it(in index.html.erb )
(view)?

Thanks .

On Apr 24, 8:36am, Colin L. [email protected] wrote:

You added the code below to the index method of the home controller
examining the code generated by the scaffolding, making sure you

Ok i will again go through tutorial and understand again.Will
try to edit .
Thanks

On 24 April 2011 13:23, amrit pal pathak [email protected]
wrote:

You added the code below to the index method of the home controller
(so in controllers/home_controller.rb)? If so then it is not
surprising it did not work. Where did you put it?

Yes it put in index method of home controller.(Seemz it is
wrong).
Can you please tell me where to put it(in index.html.erb )
(view)?

I think you said that you worked through the Rails Guide on getting
started. Is that correct? Did you really work right through it,
examining the code generated by the scaffolding, making sure you
understood everything there, and experimenting with small changes to
make sure you understand what is going on? If so then I cannot
understand how you do not know that code that generates a form for
display in the browser must go in one of the view files. Please
work through the getting started guide again and make sure you
understand it. That way will save us all a lot of time.

Once you have worked through that guide then find a more complex one
(I think I recommended the free-to-use-online one at railstutorial.org
previously) and work through that.

Colin

On 24 April 2011 17:29, amrit pal pathak [email protected]
wrote:

respond_to do |format|

<%= f.text_field :name %>
<%= f.submit %>

<% end %>
               Now i got a error ,it says

uninitialized constant HomeController::Home
app/controllers/home_controller.rb:4:in `index’

Please guide me here.where is error?

I presume that it is the line
@home = Home.new
that is failing. That line makes a new object of class Home. That
would normally be a model class. Have you defined a model called Home
(it would be in models/home.rb).

Colin

On Apr 24, 1:07pm, Colin L. [email protected] wrote:


format.html # new.html.erb
<%= link_to ‘Back’%>

@home = Home.new
that is failing. That line makes a new object of class Home. That
would normally be a model class. Have you defined a model called Home
(it would be in models/home.rb).
I generated a model using “rails generate model
home” ,it generated follwoing files

amrit@ubuntu:~/demo$ rails generate model home
invoke active_record
create db/migrate/20110425113449_create_homes.rb
create app/models/home.rb
invoke test_unit
create test/unit/home_test.rb
create test/fixtures/homes.yml

Then i perform migrations using “rake db:migrate”,it gave (Table homes
is created)

(in /home/amrit/demo)
== CreateHomes: migrating

– create_table(:homes)
→ 0.0714s
== CreateHomes: migrated (0.0717s)

So started the server now ,it gave follwoing error message

NoMethodError in Home#index

Showing /home/amrit/demo/app/views/home/_form.html.erb where line #1
raised:

undefined method `homes_path’ for #<#Class:0xb6788a3c:0xb678790c>

Content of /app/view/home/_form.html.erb file are as;

<%= form_for(@home) do |f| %>
<% if @home.errors.any? %>


<%= pluralize(@home.errors.count, “error”) %> prohibited
this home from being saved:

  <ul>
  <% @home.errors.full_messages.each do |msg| %>
    <li><%= msg %></li>
  <% end %>
  </ul>
</div>

<% end %>

<%= f.label :name %>
<%= f.text_field :name %>
<%= f.label :title %>
<%= f.text_field :title %>
<%= f.label :content %>
<%= f.text_area :content %>
<%= f.submit %>
<% end %>

Thanks

On Apr 24, 12:22pm, amrit pal pathak [email protected]
wrote:

On 24 April 2011 13:23, amrit pal pathak [email protected] wrote:

You added the code below to the index method of the home controller
examining the code generated by the scaffolding, making sure you

i read again and now try it myself.Exactly follow the
tutorils and try to make changes in new ror app.please go through what
i have done.
1) add following content to index method of home controller
class HomeController < ApplicationController

def index
@home = Home.new

respond_to do |format|
  format.html # new.html.erb
  format.xml  { render :xml => @home }
end

end
end

2)Add following to the index.html.erb file inside home view

New post

<%= render ‘form’ %>

<%= link_to ‘Back’%>

3)Created a new file inside app/view/home/_form.html.erb and added
following .(just copy/paste and changed the name according to my
methods and controller)
<%= form_for(@home) do |f| %>
<% if @home.errors.any? %>


<%= pluralize(@home.errors.count, “error”) %> prohibited
this home from being saved:

  <ul>
  <% @home.errors.full_messages.each do |msg| %>
    <li><%= msg %></li>
  <% end %>
  </ul>
</div>

<% end %>

<%= f.label :name %>
<%= f.text_field :name %>
<%= f.label :title %>
<%= f.text_field :title %>
<%= f.label :content %>
<%= f.text_area :content %>
<%= f.submit %>
<% end %>
                                   Now i got a error ,it says

uninitialized constant HomeController::Home
app/controllers/home_controller.rb:4:in `index’

Please guide me here.where is error?

Thanks