On Apr 30, 12:08 pm, Colin Law <clan...@googlemail.com> wrote:
> On 30 April 2011 16:40, amrit pal pathak <amritpalpath...@gmail.com> wrote:
>
> > 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
>
> > 2)index.html.erb
>
> > <h1>Posts#index</h1>
> > <p>Find me in app/views/posts/index.html.erb</p>
> > <%= link_to 'New Post', new_post_path%>
> > <%= form_for(@post) do |f| %>
> > <div class="field">
> > <%= f.label :name %><br />
> > <%= f.text_field :name %>
> > </div>
> > <div class="field">
> > <%= f.label :title %><br />
> > <%= f.text_field :title %>
> > </div>
> > <div class="field">
> > <%= f.label :content %><br />
> > <%= f.text_area :content %>
> > </div>
> > <div class="actions">
> > <%= f.submit %>
> > </div>
> > <% 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>
Thanks for support!!
--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
No comments:
Post a Comment