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
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
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
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!
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
Why are you making a post in the index action? This action should
just be showing posts.
end
def create
@post = Post.new(params[:post])
respond_to do |format|
end
end
end
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.
> 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
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 .
> end
> def create
> @post = Post.new(params[:post])
> respond_to do |format|
> end
> end
> 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
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>
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?
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....