"uninitialized constant PostsController::Post"

This time i read scaffold tutorial very carefully and finally try to
generate a form without using the scaffold(just used a controller and
view ).what i have done till now ,is as follow.Using rails 3.0.7.

                             "rails generate controller posts

index"

  1. post_controller.rb

class PostsController < ApplicationController
def index
@post=Post.new
end
def create
@post = Post.new(params[:post])
respond_to do |format|
end
end
end

2)index.html.erb

Posts#index

Find me in app/views/posts/index.html.erb

<%= link_to 'New Post', new_post_path%> <%= form_for(@post) do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.label :title %>
<%= f.text_field :title %>
<%= f.label :content %>
<%= f.text_area :content %>
<%= f.submit %>
<% end %>
                         i didnt create any model because i just

want to create a simple form first.so when i brower to “localhost:3000/
posts/index”, it says

"uninitialized constant PostsController::Post

Please somebody help to resolve it

Thanks

On Apr 30, 2011, at 11:40 AM, amrit pal pathak wrote:

def index

<%= f.text_field :title %>
i didnt create any model because i just

You must have a model if you’re going to call Post.new. That’s where
that ‘new’ method happens. The model tells the controller what fields
it should initialize, which tells the view that the default values are
whatever they are, etc. It’s MVC, not VC!

Walter

On 30 April 2011 16:40, amrit pal pathak [email protected]
wrote:

def index
@post=Post.new

Why are you making a post in the index action? This action should
just be showing posts.

Posts#index

want to create a simple form first.so when i brower to "localhost:3000/ posts/index", it says

"uninitialized constant PostsController::Post

You have not told us which line is failing, but I guess it is the one
that says
@post=Post.new
which says make a new Post object, but since you have not written the
Post model how can it make a Post object?

You cannot make a form for an object without defining the model first.
form_for( @post ) makes a form for the object @post.

Colin

On Apr 30, 12:08pm, Colin L. [email protected] wrote:

class PostsController < ApplicationController
def index
@post=Post.new

Why are you making a post in the index action? This action should
just be showing posts.
Yes Colin,this method was used for showing phosts.But this
is not a ard and fast rule that it must be used for showing posts.I
just doing experiment ,so used it for creating .

def create
<%= link_to ‘New Post’, new_post_path%>
<%= f.label :content %>

"uninitialized constant PostsController::Post

You have not told us which line is failing, but I guess it is the one that says
@post=Post.new
which says make a new Post object, but since you have not written the
Post model how can it make a Post object?

You cannot make a form for an object without defining the model first.
form_for( @post ) makes a form for the object @post.
@Colin and Walter
ok,model is must.Created a model as.
“rails generate model post” and then
did “rake db:create”(it created a database) and then “rake
db:migrate”(it created a posts tables in database).but now when i
browse to “locahost:3000/posts/index”,it says

Showing /home/amrit/final/app/views/posts/index.html.erb where line #4
raised:
undefined method `posts_path’ for #<#Class:0xb67f7784:0xb67f5560>

Thanks for support!!

On 1 May 2011 05:52, amrit pal pathak [email protected] wrote:


Showing /home/amrit/final/app/views/posts/index.html.erb where line #4
raised:
undefined method `posts_path’ for #<#Class:0xb67f7784:0xb67f5560>

Amrit I cannot believe that you are asking that question. Look back
through your questions and you will see you have asked similar
questions several times. Always the answer is to rake routes to what
routes you have defined (and so whether posts_path is valid) and to
re-read the Rails Guides on Routing if you do not know how to get that
path defined.

Can you explain how it is that you have to keep asking the question?

Am I the only one thinking that this poster is winding us up?

Colin

On May 1, 4:12am, Colin L. [email protected] wrote:

routes you have defined (and so whether posts_path is valid) and to
re-read the Rails Guides on Routing if you do not know how to get that
path defined.

Can you explain how it is that you have to keep asking the question?

Am I the only one thinking that this poster is winding us up?
Not at all.He is new to Rails So I think we should help him
to
resolve the issue.

On 1 May 2011 09:12, Colin L. [email protected] wrote:

Amrit I cannot believe that you are asking that question.

Am I the only one thinking that this poster is winding us up?

Since post 1 I’ve thought you’re banging your head against a wall :-/

Stuff like “this is not a [h]ard and fast rule that it must be used
for showing posts.” is ridiculous…
If he wants to “just doing experiment” and use the index action to
create, then be surprised at problems, then he’s on a limb on his own.

I’m all for helping people, but they’ve got to help themselves first
[1]. No-one is here to be anyone else’s crutch 24/7.

[1] or at least be able to help themselves with some prompting…

On May 1, 5:11am, John shelfer [email protected] wrote:

Can you explain how it is that you have to keep asking the question?

Am I the only one thinking that this poster is winding us up?

Not at all.He is new to Rails So I think we should help him

to
resolve the issue.

Thank you for support sir.

On 1 May 2011 10:11, John shelfer [email protected] wrote:

On May 1, 4:12am, Colin L. [email protected] wrote:

On 1 May 2011 05:52, amrit pal pathak [email protected] wrote:

Am I the only one thinking that this poster is winding us up?
Not at all.He is new to Rails So I think we should help him
to
resolve the issue.

Ok John. Thanks for volunteering to help sort Amrit out. Over to you.

Good luck

Colin