【发布时间】:2014-05-18 14:21:45
【问题描述】:
Ruby 2.0、Rails 4.1.0、sQlite3。我必须在 Hash 中创建参数以添加到我的数据库。我有 yaml 文件和模型:
class User < ActiveRecord::Base
has_many :tweets
accepts_nested_attributes_for :tweets
end
class Tweet < ActiveRecord::Base
belongs_to :user
end
我有 15 个用户。尝试运行这段代码
UsTw_model_params = {user: []}
count_of_users = seeds_yml["users"].length - 1
for i in 0..count_of_users do
UsTw_model_params[:user][i] = {}
UsTw_model_params[:user][i][:name] = seeds_yml["users"][i]["name"]
UsTw_model_params[:user][i][:email] = seeds_yml["users"][i]["email"]
UsTw_model_params[:user][i][:password] = seeds_yml["users"][i]["password"]
UsTw_model_params[:user][i][:avatar] = seeds_yml["users"][i]["avatar"]
UsTw_model_params[:user][i][:tweets_attributes] = []
if seeds_yml["users"][i].has_key?(:tweets)
count_of_tweets = seeds_yml["users"][i]["tweets"].length - 1
for j in 0..count_of_tweets do
UsTw_model_params[:user][i][:tweets_attributes][j] = {}
UsTw_model_params[:user][i][:tweets_attributes][j][:post] = seeds_yml["users"][i]["tweets"][j]["post"]
UsTw_model_params[:user][i][:tweets_attributes][j][:created_at] = seeds_yml["users"][i]["tweets"][j]["created_at"]
end
end
end
User.create(UsTw_model_params[:user])
并得到错误ActiveRecord::UnknownAttributeError: unknown attribute: user
怎么了?
【问题讨论】:
标签: ruby ruby-on-rails-4 hash yaml