неопределенный метод `имя_модели 'для NilClass: Class (Использование formtastic в Rails 3.0.3, Ruby 1.9.2) - PullRequest
3 голосов
/ 18 января 2011

Немного запутался, почему это не работает.Я использую Ruby 1.9.2 с Rails 3.0.3 в Windows 7.

Пытаюсь создать форму с formtastic для пост-модели, однако продолжаю получать неопределенный метод `имя_модели 'для NilClass: Class , когда я пытаюсь отобразить представление.

Соответствующий код:

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%>

Дайте мне знать, если что-нибудь еще понадобится.

РЕДАКТИРОВАТЬ : Забыл изменить некоторые вещи обратно.

Забыл включить схему БД:

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 Ответ

8 голосов
/ 18 января 2011

Эмм, несколько проблем:

  • У вас есть два контроллера, и вы еще не сказали, какой из них является
  • PostsController имеет @post = Post.all вне контекста метода
  • Ни один из ваших контроллеров не устанавливает множественное число @posts, на которое ссылается ваш взгляд
...