Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为不工作的模型创建种子数据_Ruby On Rails_Ruby_Ruby On Rails 3_Gem_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 为不工作的模型创建种子数据

Ruby on rails 为不工作的模型创建种子数据,ruby-on-rails,ruby,ruby-on-rails-3,gem,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 3,Gem,Ruby On Rails 4,所以我有一个属于用户的问题模型。最初,我想用public:true属性设置基本问题,每个用户都可以看到我想在seed.rb中创建的此类问题 然后,随后用一个答案模型。每个用户的答案都属于某个问题 现在的问题是创建这些预先制作的问题,供用户回答。我在seed.rb中尝试了以下方法: u = User.new(email: "test@gmail.com", password: "testpass", password_confirmation: "testpass", gender: "M") q

所以我有一个属于用户的问题模型。最初,我想用public:true属性设置基本问题,每个用户都可以看到我想在seed.rb中创建的此类问题

然后,随后用一个答案模型。每个用户的答案都属于某个问题

现在的问题是创建这些预先制作的问题,供用户回答。我在seed.rb中尝试了以下方法:

u = User.new(email: "test@gmail.com", password: "testpass", password_confirmation: "testpass", gender: "M")
questions = u.questions.build(title: "What is your favourite food?")
u.save
我想为视图中的所有用户调用相同的默认问题

问题\u controller.rb

def index 
  @questions = Question.all
end
但这似乎根本不起作用,也就是说,当我转到rails c并运行u时,它是一个未定义的方法。。而美国问题是一个空数组。我在控制台中手动运行了这些行,它们工作正常,所以我不确定这里发生了什么

我做错了什么

更新开发日志

    ^[[1m^[[36mUser Load (16.9ms)^[[0m  ^[[1mSELECT "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT 1^[[0m
  ^[[1m^[[35mQuestion Load (645.9ms)^[[0m  SELECT "questions".* FROM "questions" WHERE "questions"."user_id" = $1  [["user_id", 2]]
  ^[[1m^[[36mActiveRecord::SchemaMigration Load (48.4ms)^[[0m  ^[[1mSELECT "schema_migrations".* FROM "schema_migrations"^[[0m
  ^[[1m^[[36mActiveRecord::SchemaMigration Load (1.0ms)^[[0m  ^[[1mSELECT "schema_migrations".* FROM "schema_migrations"^[[0m
  ^[[1m^[[35m (0.3ms)^[[0m  BEGIN
  ^[[1m^[[36mUser Exists (34.7ms)^[[0m  ^[[1mSELECT 1 AS one FROM "users" WHERE "users"."email" = 'anthony@gmail.com' LIMIT 1^[[0m
  ^[[1m^[[35m (0.3ms)^[[0m  ROLLBACK
DEPRECATION WARNING: You didn't set config.secret_key_base. Read the upgrade documentation to learn more about this new config option. (called from service a\
t /usr/local/rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/webrick/httpserver.rb:138)

我认为问题是OP在开发数据库中有坏数据


运行
rake db:drop db:create db:setup
似乎可以解决这个问题。

当你说“run u”时,你的意思是:
u=User.first
u=User.first
不应该返回空数组。。。它应该返回
用户
对象或nil。您是否运行过
rake db:seed
?当您运行
rake db:seed
时,
log/development.log
会显示什么?它不会显示
rake db:seed
的结果……让我们来看看