Rails 프로젝트를 3.2.22.5에서 4.0.0으로 업그레이드하는 과정을 거치고 있습니다. 어떻게해야합니까? 배열은 두 버전간에 데이터베이스에 저장됩니다. 3.2 레일 나는이Rails 3.2에서 Rails 4로 업그레이드 한 후 배열을 문자열로 저장
def create
entry = current_user.tdr_entries.create()
entry.update_attributes(params[:tdr_entry])
if entry.save
result = 'ok'
end
render text: result || 'fail'
end
params 객체를 파라미터는 다음
{"tdr_entry"=>{"value"=>["Eyes", "Hair", "Blood", "", "", ""], "multi"=>"true"}}
에서 같은 값을 전달하는 컨트롤러에서 동작을 만들 수 있습니다
는, 값은 문제없이 데이터베이스에 저장하고 다음과 같습니다 콘솔에서 :
=> "---\n- Eyes\n- Hair\n- Blood\n- ''\n- ''\n- ''\n"
하지만 레일 4로 업그레이드 한 후에는 같은 일을하려고 할 때 오류가 발생했습니다.
ActiveRecord::StatementInvalid (TypeError: can't cast Array to text:
배열을 레일스 3.2에서 이전과 동일한 형식의 문자열로 변환하려면 어떻게해야합니까?
가능합니까? 또는 레일 4에서 어떻게 작동하는지 완전히 리팩터링하고 직렬화해야합니까?
건배.
데이터베이스 사용합니까? BTW, 그 "--- \ n ..."'물건은 YAML 형태의 배열처럼 보입니다. –