尝试创建表单undefined method 'model_name' for NilClass:Class
我的这个项目是为了捕捉我的想法。我可以使用谷歌文档,但认为这应该很容易尝试为自己编写应用程序。下面是我认为它应该来自我在newopp.html.erb中的简单表单网站上阅读的代码(在我的opps视图文件夹中。
我创建了一个控制器和一个模型,我确定我的问题的一部分是我无法弄清楚我需要编码什么或者为代码添加什么来正确完成这一步。我看过的所有教程都给了我一些想法,并尝试让工作无济于事。
所以基本上我坐在轨道上生成的控制器名为opps_controller.rb和一个名为opp.rb的模型。这两个都不过是发电机提供的,因为我不得不回到原点
我用
开头的简单表单代码<%= simple_form_for @opp do |f| %>
<%= f.input :title %>
<%= f.input :subtitle %>
<%= f.input :description %>
<%= f.input :idea %>
<%= f.input :added %>
<%= f.button :submit %>
<% end %>
opp.rb文件
class Opp < ActiveRecord::Base
attr_accessible :added, :description, :idea, :subtitle, :title
end
如果它有所作为,我已经迁移了数据库,我使用bootstrap配置运行了简单的表单安装脚本。我正在使用rails 3.2.9
和ruby 1.9.3p362
(2012-12-25修订版38607)[x86_64-darwin12.2.1]
正如我所提到的,我只有一个使用生成器创建的空白控制器,我需要让CRUD功能正常工作。我所尝试的一切都在这一点上失败了。我感谢您提供的任何帮助。
答案 0 :(得分:1)
不应该是newopp.html.erb
,只是new.html.erb
。所以路径是/views/opps/new.html.erb
如果您仍然收到错误,请确保在控制器中定义了@opp
:
class OppsController < ApplicationController
def new
@opp = Opp.new
end
def create
@opp = Opp.new
if @opp.update_attributes(params[:opp])
...
else
render 'new'
end
end
end