私の投票モデルの結果をさらにハッシュに入れようとしましたが、Rubyの変数からハッシュキーを作成する方法がわかりません。下の例を参照してください:どのように私は変数がtarget_hash[cv.content_id]
を認識することがないことができます、モデルの結果をキーの問題としてハッシュ変数に変換する
undefined method `member?' for nil:NilClass
が、それは認識されないtarget_hash[cv.content_id]
から来ている??:
def create_hash_array(campaign_votes)
target_hash = Hash.new
campaign_votes.each_with_index do |cv,i|
target_hash[cv.content_id] = {} if i == 0
if target_hash[cv.content_id].member?(cv.vote_button_id)
target_hash[cv.content_id][cv.vote_button_id] = (target_hash[cv.content_id][cv.vote_button_id]).to_i + 1
else
target_hash[cv.content_id] = {cv.vote_button_id => nil}
end
end
target_hash
end
通常、私はエラーを得ました
'target_hash [cv.content_id]'はまだ設定されていないキー 'cv.content_id'を使ってハッシュから値を取得しようとします.nilであり、' member'を呼び出しています。基本的には 'cv.vote_button_id'キーがあればハッシュをネストしたいのですか? –