未定义的方法`<<&#; for nil:NilClass rails console

时间:2014-12-06 09:09:41

标签: ruby-on-rails ruby-on-rails-4 psql rails-console

嘿,我正在创建数据库架构并在rails控制台中对其进行测试。我有关系用户has_many:费率费率belongs_to:用户。当我输入rails console时:

user = User.find(1)
rate = Rate.find(1)
user.rates << rate

每件事情都很好,但是当我想以相反的方式做到这一点时:

user2 = User.find(2)
rate2 = Rate.find(2)
rate2.user << user2

我收到了以下错误 NoMethodError:未定义的方法`&lt;&lt;&lt;&#39;为零:NilClass

用户迁移

class CreateUsers < ActiveRecord::Migration
  def up
    create_table :users do |t|
      t.column "username", :string, :limit => 25 
      t.string "first_name", :limit => 30
      t.string "last_name", :limit => 50
      t.string "password" 
      t.date "date_of_birth" 
      t.timestamps
    end
  end
end

费率迁移

class CreateRates < ActiveRecord::Migration
  def change
    create_table :rates do |t|
      t.integer "user_id"
      t.integer "credibility", :limit => 1 #0 or 1
      t.timestamps
    end
    add_index("rates", "user_id")
  end
end

1 个答案:

答案 0 :(得分:0)

user属性不是数组(或任何类型的集合),您必须为其分配。

user2 = User.find(2)
rate2 = Rate.find(2)
rate2.user = user2