NilClass的未定义方法`model_name':Class(在Rails 3.0.3中使用formtastic,Ruby 1.9.2)

acr*_*ale 3 ruby ruby-on-rails formtastic

有点混淆为什么这不起作用.我在Windows 7上使用Ruby 1.9.2和Rails 3.0.3.

尝试使用formtastic为post模型创建一个表单,然而,当我尝试渲染视图时,我继续为NilClass:Class获取未定义的方法`model_name'.

相关代码:

Demonly_controller.rb

class DemonlyController < ApplicationController
    def index
      @post = Post.all
    end
end
Run Code Online (Sandbox Code Playgroud)

Posts_controller.rb

class PostsController < ApplicationController

end
Run Code Online (Sandbox Code Playgroud)

Post.rb

class Post < ActiveRecord::Base
    attr_accessible :title, :post, :date, :time, :user, :visible, :comments
end
Run Code Online (Sandbox Code Playgroud)

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 %>
Run Code Online (Sandbox Code Playgroud)

因为我生病和精神混乱,我很可能会做一些非常愚蠢的事情.

提取的来源(第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
Run Code Online (Sandbox Code Playgroud)

noo*_*odl 8

嗯,几个问题:

  • 你有两个控制器,并没有说哪个是相关的
  • PostsController @post = Post.all在方法上下文之外
  • 您的控制器都没有设置@posts视图中引用的复数