此问题的名称已被使用,但这个问题完全不同。在 localhost:3000 / forums / new 中,它说:
未定义的方法`new'为零:NilClass
my forums_controller.rb:
class ForumsController < ApplicationController
def index
end
def forum
end
def new
@forum = forum.new
end
def create
@forum = forum.new (forum_params)
end
private
def forum_params
params.require(:forum).permit(:title, :text)
end
end
我的new.html.erb(在视图&gt;论坛下):
<h1>New Forum</h1>
= render 'forum'
= link_to "Back", root_path
我在index&gt;论坛下的index.html.erb是完全空的。 我的应用程序控制器:
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
end
_forum.html.erb:
= simple_form_for @forum, html: { multipart: true } do |f|
- if @forum.errors.any?
#errors
%h2
= pluralize(@forum.errors.count, "error")
perevented this Forum for saving
%ul
- @forum.errors.full_messages.each do |msg|
%li= msg
.forum-group
= f.input :title, input_html { class: 'forum-control' }
.forum-group
= f.input :text, input_html { class: 'forum-control' }
= f.button :submit,class: "btn btn-primary"
任何人都知道如何解决这个问题? 如果缺少任何代码,请发表评论,我将添加它。
答案 0 :(得分:3)
我相信你想写类似
的东西Forum.new
不
forum.new
其中forum
显然是nil
,只要您将forum
定义为
def forum
end
我希望您在应用程序中定义了Forum
模型