Ruby on Rails Saturday, April 30, 2011

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