ruby-on-rails - 项目 :Class 的未定义方法 `model_name'

标签 ruby-on-rails ruby

我已经查看了所有相关问题,但对我来说没有什么新鲜事。

我有一个带有"new" Action 的项目 Controller

class ProjectsController < ApplicationController
  def new
    @newproject = Project.new
  end
end

项目是一个简单的类,不是事件记录:

class Project
  attr_accessor :name, :description
  def initialize
    @name = ""
    @description = ""
  end
end

我得到错误“项目:类的未定义方法‘model_name’”

这是一个 erb 文件示例:

<%= form_tag(@newproject)  do |f| %>
  <%= f.label :name %>:
  <%= f.text_field :description %><br />
<% end %>

最佳答案

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

关于ruby-on-rails - 项目 :Class 的未定义方法 `model_name',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10823736/

相关文章:

javascript - 从 Rails Assets 管道中清除缓存

ruby-on-rails - Paperclip 使用 S3 在 Heroku 上上传

ruby-on-rails - Rails - 加入事件记录关系

ruby-on-rails - 如何确定 Rails Assets 管道中给定 Assets 的 MD5 摘要?

ruby-on-rails - 设置 RVM 路径?

ruby-on-rails - Rails 包含验证

ruby-on-rails - Rails 验证虚拟属性

ruby - 如何从整数中得到 10s、100s、1000s?

ruby - 显示 couchdb 文档的值

ruby - selenium-webdriver 点击第一个链接