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

时间:2011-01-18 14:05:16

标签: ruby-on-rails ruby 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

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. &lt;%semantic_form_for @post do | f |%&gt;
  2. &lt;%= f.errors%&gt;
  3. &lt;%= f.inputs do%&gt;
  4. &lt;%= f.input:title%&gt;
  5. 如果需要其他任何内容,请告诉我。

    编辑:忘了改回一些东西。

    忘记包含数据库模式:

    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
    

1 个答案:

答案 0 :(得分:8)

呃,有几个问题:

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