2011-01-18 5 views
3

なぜこれが機能しないのか混乱します。クラス:私は、私はNilClassため未定義のメソッド `MODEL_NAME」を得続ける、しかし、ポストモデル用formtasticでフォームを作成しようとすると、Windows 7でNilClassの未定義メソッド `model_name ':クラス(Rails 3.0.3、Ruby 1.9.2でformtasticを使用)

上のRails 3.0.3とRubyの1.9.2を使用しています私はその視点を描こうとする。

関連コード:

Demonly_controller.rb

class DemonlyController < ApplicationController 
    def index 
     @post = Post.all 
    end 
end 

Posts_controller.rb

class PostsController < ApplicationController 

end 

Post.rb

class Post < ActiveRecord::Base 
    attr_accessible :title, :post, :date, :time, :user, :visible, :comments 
end 

Index.html.erb

<h1>Demonly</h1> 
<% semantic_form_for @post do |f|%> 
    <%= f.errors %> 
    <%= f.inputs do %> 
    <%= f.input :title %> 
    <%= f.input :post %> 
    <%= f.input :date %> 
    <%= f.input :time %> 
    <%= f.input :user %> 
    <%= f.input :visible %> 
    <%= f.input :comments %> 
    <% end %> 
<% end %> 

それは私が病気や精神的に曇りだと私は見て非常に愚かな何かをやっているということではなく可能性があります。

抽出されたソース(ライン#周り2):

  1. <% semantic_form_for @post行う| | F%>
  2. <% = f.errors%>
  3. <% = f.inputs %>
  4. <% = f.inputの操作を行います。タイトル%>

は、他の何かが必要な場合、私に教えてください。

EDIT:バックいくつかのことを変更し忘れました。

は、DBスキーマを含めることが忘れ:

create_table "posts", :force => true do |t| 
    t.string "title" 
    t.text  "post" 
    t.datetime "date" 
    t.datetime "time" 
    t.string "user" 
    t.boolean "visible" 
    t.boolean "comments" 
    t.datetime "created_at" 
    t.datetime "updated_at" 
    end 
+0

あなたのビューには '@ posts'があり、コントローラには' @ post'(複数ではありません)を定義します – cristian

+0

フォームには何をしますか?新しい投稿を作成しますか?すべての投稿を編集しますか? – Dogbert

答えて

8

のErm、いくつかの問題:

  • 次の2つのコントローラを持っているとPostsControllerの外@post = Post.allを持って、関連する1
  • であると述べていません方法のコンテキストの
  • いずれのコントローラも、ビュー内で参照されている複数の@postsを設定していません。
+0

Woops、demonly_controller.rbは関連コントローラです。posts_controller.rbの@post = Post.allはそこには存在してはいけません。@postsのsemantic_form_forは@postでなければなりません。 Index.html.erbはdemonlycontrollerのインデックスビューです。 – acrognale

+0

'@post = Post.all'は意味がありません。複数形にする必要があります。いずれにしても、配列を取得したとしても、それは 'semantic_form_for'には適切な引数ではありません。レール上の7つのリソースアクションの意味について混乱しているように見えます。おそらくあなたは代わりにショーアクションをしたいのですか? – noodl

+0

とても遅いです。 Post.allではなく、Post.newであったはずです。リソースに追加:routes.rbファイルへの投稿。今は完璧に動作します。ありがとうございました! – acrognale

関連する問題