所以我在這裏看到了關於這個的其他文章,很多人都沒有做@post = post.new。我讀了一些在哪裏使用複數... ??未定義的方法`model_name'爲NilClass:Class - Rails應用程序
我在我的討論代碼收到此錯誤的任何方式:
型號
class Discussion < ActiveRecord::Base
has_many :comment
belongs_to :author
attr_accessible :author_id, :content, :title
validate :comment, :presence => true
validate :title, :presence => true
end
討論控制器
class DiscussionsController < ApplicationController
def index
@discussion = Discussion.new
@discussions = Discussion.all
end
def create
@discussion = Discussion.create(params[:discussion])
if @discussion.save
redirect_to tasks_path, :flash => {:success => 'Created a new discussion'}
else
redirect_to tasks_path, :flash => {:error => 'Failed to create a discussion'}
end
end
end
討論表單
條<%= form_for @discussion do |f| %>
<p><%= f.label :title %>
<%= f.text_field :title %></p>
<p><%= f.label :content %>
<%= f.text_area :content %></p>
<% end %>
討論路線
resources :discussions do
resources :comments
end
現在據我知道我這樣做對的,因爲我有一個任務形式設立本質上是相同的方式 - 但我看了一下我的代碼小時,用Google搜索,並試圖其它例子,現在我看到這個:
undefined method `model_name' for NilClass:Class
Extracted source (around line #1):
1: <%= form_for @discussion do |f| %>
2:
3: <p><%= f.label :title %>
4: <%= f.text_field :title %></p>
這應該意味着我失蹤從我的控制器東西.....是它作爲asilly作爲一個拼寫錯誤? >>
你從哪裏得到代碼?你可以粘貼控制器嗎? – uday
你是否逐字複製粘貼你的代碼?也就是說,你可能在某個地方有錯字嗎? – Chowlett
我寫了代碼,就是整個控制器。這裏的所有代碼都被複制並逐字粘貼。如果有幫助,我可以添加模型。 – TheWebs