2016-08-18 56 views
-1

我下面就制定一个指导和我目前仍坚持这一:Nomethoderror试图用设计与轨道

`NoMethodError in TasksController#new undefined method `tasks' for nil:NilClass 

Task.rb

class Task < ActiveRecord::Base 
    belongs_to :user 
    end 

User.rb

class User < ActiveRecord::Base 
    # Include default devise modules. Others available are: 
    # :confirmable, :lockable, :timeoutable and :omniauthable 
    devise :database_authenticatable, :registerable, 
    :recoverable, :rememberable, :trackable, :validatable 
    has_many :tasks 
end 

TaskController.rb

def new 
    @task = current_user.tasks.build 
end 

def create 
    @task = current_user.tasks.build(task_params) 
end 

DB - Schema.rb

create_table "tasks", force: :cascade do |t| 
    t.string "name" 
    t.text  "content" 
    t.datetime "created_at", null: false 
    t.datetime "updated_at", null: false 
    t.integer "user_id" 
end 

create_table "users", force: :cascade do |t| 
    t.string "email",     default: "", null: false 
    t.string "encrypted_password",  default: "", null: false 
    t.string "reset_password_token" 
    t.datetime "reset_password_sent_at" 
    t.datetime "remember_created_at" 
    t.integer "sign_in_count",   default: 0, null: false 
    t.datetime "current_sign_in_at" 
    t.datetime "last_sign_in_at" 
    t.string "current_sign_in_ip" 
    t.string "last_sign_in_ip" 
    t.datetime "created_at",       null: false 
    t.datetime "updated_at",       null: false 
end 

帮助深表感谢!

+0

您是否通过身份验证? – Makoto

+0

身份验证如何? – Drixzy

+1

你是绝对正确的,非常感谢你Hasmukh! – Drixzy

回答

0

错误消息指出:nil.tasks

它意味着User类对象不被创建。

尝试登录。一旦你登录,错误将被解决。