Undefined метод `model_name 'для Project: Class
Я просмотрел все связанные вопросы, но ничего нового для меня здесь.
У меня есть контроллер проекта с "новым" действием
class ProjectsController < ApplicationController
def new
@newproject = Project.new
end
end
Проект - это простой класс, а не активная запись:
class Project
attr_accessor :name, :description
def initialize
@name = ""
@description = ""
end
end
Я получаю ошибку "undefined метод` model_name 'для Project: Class"
Это пример файла erb:
<%= form_tag(@newproject) do |f| %>
<%= f.label :name %>:
<%= f.text_field :description %><br />
<% end %>
Ответы
Ответ 1
Если Project не является активным подклассом записи, вам нужны эти, и вы можете использовать form_for
class Project
extend ActiveModel::Naming
include ActiveModel::Conversion
def persisted?
false
end
...
end
Вид:
<%= form_for(@newproject) do |f| %>
<%= f.label :name %>:
<%= f.text_field :description %><br />
<% end %>
Ответ 2
class Project < ActiveRecord::Base
Ответ 3
только для записи - вот Railscast для этой проблемы:
http://railscasts.com/episodes/219-active-model