NoMethodError: undefined method `<<' for #
4686 단어 ActiveRecordRails
나는 만다라트의 응용 프로그램을 하고 있다.
만다라트라는 것은 아이디어를 내는 방법 중의 하나이다
이런 느낌으로 생각을 연상하는 느낌.
오류가 발생했습니다.
class MandalartsController < ApplicationController
def index
# 最初から配列の要素を9つ入れとく
# 配列の要素の中身があれば、何もしない
# 配列の要素の中身があれば、""の要素を入れとく
@mandalarts = Mandalart.all
binding.pry
if @mandalarts.count < $mandalart_blocks_num
($mandalart_blocks_num - @mandalarts.count).times do |mandalart|
mandalart = Mandalart.create(text: '')
@mandalarts << mandalart
end
end
end
NoMethodError: undefined method `<<' for #<Mandalart::ActiveRecord_Relation:0x000055f2bd5bb070>
이런 착오가 발생했다.@mandalarts << mandalart
의 부분에 오류가 발생했습니다.active_record
대상:?배열 방식<<
으로는 값을 추가할 수 없습니다.app/controllers/mandalarts_controller
class MandalartsController < ApplicationController
def index
# 最初から配列の要素を9つ入れとく
# 配列の要素の中身があれば、何もしない
# 配列の要素の中身があれば、""の要素を入れとく
@mandalarts = Mandalart.all
if @mandalarts.count < $mandalart_blocks_num
($mandalart_blocks_num - @mandalarts.count).times do |mandalart|
Mandalart.create(text: '')
end
@mandalarts = Mandalart.all
end
end
그러므로만약 배열 내용이 부족하면
$mandalart_blocks_num
분(9개)부족한 부분, 제작 기록.
그리고
@mandalarts = Mandalart.all
및 if
에서첫 번째
@mandalarts = Mandalart.all
와 타격하지 않는다.spec/requests/mandalarts_spec.rb
it "works! (now write some real specs)" do
get root_path
expect(response).to have_http_status(200)
end
이런 시험도 통과했다.만약 음반이
$mandalart_blocks_num
분, $mandalart_blocks_num
분 없다면나도 음반 제작 여부를 확인할 수 있는 테스트를 쓰고 싶다.
Reference
이 문제에 관하여(NoMethodError: undefined method `<<' for #), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/divclass123/items/d8cf9908894d6cabf23f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)