3

これが機能しない理由について少し混乱しています。Windows7でRuby1.9.2とRails3.0.3を使用しています。

ポストモデル用にformtasticでフォームを作成しようとすると、ビューをレンダリングしようとすると、NilClass:Classの未定義のメソッド`model_name'が取得され続けます。

関連コード:

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 do | f |%>
  2. <%= f.errors%>
  3. <%= f.inputs do%>
  4. <%= f.input:title%>

他に何か必要なことがあれば教えてください。

編集:いくつかのものを元に戻すのを忘れました。

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
4

1 に答える 1

8

えーと、いくつかの問題:

  • あなたは2つのコントローラーを持っていて、どちらが適切かを言っていません
  • PostsControllerには@post = Post.allメソッドコンテキストの外部があります
  • どちらのコントローラーも@posts、ビューで参照されている複数形を設定していません
于 2011-01-18T14:10:21.210 に答える