type run rails migrations foreign column belong association ruby-on-rails rake seeding argument-error

ruby on rails - run - secuencia de bytes inválida en US-ASCII(Error de argumento) cuando ejecuto rake db: seed en Rails



ruby on rails run migrations (6)

Cuando ejecuto rake db:seed en mi aplicación Rails , obtengo este error:

secuencia de bytes inválida en US-ASCII (Error de argumento)

Acabo de agregar science_majors y bajar a mi archivo semilla, y ahora cuando ejecuto rake db:seed me da este error:

error de secuencia de bytes inválidos

¿Por qué es esto y cómo puedo solucionarlo?

parte de seeds.rb

@college = College.find_or_create_by_name!(''University of Pittsburgh'') if @college.update_attributes( url: ''university-of-pittsburgh'', public: ''Public'', years: ''4-year'', category: ''National University'', calendar: ''Semester'', location: ''Pittsburgh, PA'', setting: ''Large City (250-500k)'', retention: ''90'', majors: ''business/marketing: 15%|social sciences: 14%|health professions: 11%|english: 10%|engineering: 9%|psychology: 8%|biology: 7%|history: 5%'', scholarships_link: ''http://www.oafa.pitt.edu/universityschlrs.aspx'', map: ''<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=university+of+pittsburgh&amp;aq=&amp;sll=40.444261,-79.970448&amp;sspn=0.142165,0.251656&amp;ie=UTF8&amp;hq=university+of+pittsburgh&amp;t=m&amp;ll=40.443486,-79.958245&amp;spn=0.010798,0.021038&amp;output=embed"></iframe><br /><small><a href="https://maps.google.com/maps?f=q&amp;source=embed&amp;hl=en&amp;geocode=&amp;q=university+of+pittsburgh&amp;aq=&amp;sll=40.431368,-79.9805&amp;sspn=0.142165,0.251656&amp;ie=UTF8&amp;hq=university+of+pittsburgh&amp;t=m&amp;ll=40.443486,-79.958245&amp;spn=0.010798,0.021038" style="color:#0000FF;text-align:left">View Larger Map</a></small>'', street_view: ''<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?f=q&amp;source=embed&amp;hl=en&amp;geocode=&amp;q=University+of+Pittsburgh,+4200+Fifth+Ave,+Pittsburgh,+PA&amp;aq=0&amp;oq=uni&amp;sll=40.444261,-79.970448&amp;sspn=0.142165,0.251656&amp;ie=UTF8&amp;hq=University+of+Pittsburgh,+4200+Fifth+Ave,+Pittsburgh,+PA&amp;ll=40.443486,-79.958245&amp;spn=0.010798,0.021038&amp;t=m&amp;layer=c&amp;cbll=40.441775,-79.956671&amp;panoid=BgWQKMiSI1fpwP7JUF16Vg&amp;cbp=12,45.25,,0,-3.34&amp;output=svembed"></iframe><br /><small><a href="https://maps.google.com/maps?f=q&amp;source=embed&amp;hl=en&amp;geocode=&amp;q=University+of+Pittsburgh,+4200+Fifth+Ave,+Pittsburgh,+PA&amp;aq=0&amp;oq=uni&amp;sll=40.431368,-79.9805&amp;sspn=0.142165,0.251656&amp;ie=UTF8&amp;hq=University+of+Pittsburgh,+4200+Fifth+Ave,+Pittsburgh,+PA&amp;ll=40.443486,-79.958245&amp;spn=0.010798,0.021038&amp;t=m&amp;layer=c&amp;cbll=40.441775,-79.956671&amp;panoid=BgWQKMiSI1fpwP7JUF16Vg&amp;cbp=12,45.25,,0,-3.34" style="color:#0000FF;text-align:left">View Larger Map</a></small>'', housing: ''<iframe src="http://www.tour.pitt.edu/tour-categories/residence-halls" scrolling="no" height="820" width="900"></iframe>'', food: ''<div style="overflow: hidden; max-width: 1000px;"><iframe scrolling="no" src="http://www.pc.pitt.edu/dining/menus.php" style="margin-left: 0; height: 2000px; margin-top: -370px; margin-bottom: -375px; width: 750px;"></iframe></div>'', weather: ''<div style="overflow: hidden; max-width: 500px;"><iframe scrolling="no" src="http://www.weather.com/weather/wxclimatology/monthly/graph/USPA1290" style="margin-left: -40px; height: 1570px; margin-top: -490px; width: 500px;"></iframe></div>'', dorms: ''Towers (fr.)|Sutherland (fr.)|Lothrop (fr.)|Nordenberg (fr.)|Holland (fr.)|Forbes (fr.; honors)|McCormick|Brackenridge|Amos|Bruce|Panther|Pennsylvania|Ruskin|Bouquet Gardens|Oakwood Apartments|Centre-Plaza Apartments|Forbes-Craig Apartments (honors)'', science_majors: ''Actuarial Mathematics|Applied Mathematics|Bioinformatics|Biological Sciences|Chemistry*|Computer Science|Ecology and Evolution|Environmental Geology|Environmental Studies|Geology|History and Philosophy of Science|Linguistics*|Mathematics*|Mathematics-Economics|Mathematics-Philosophy|Microbiology|Molecular Biology|Natural Sciences Area|Neuroscience*|Physics*|Physics and Astronomy|Scientific Computing|Statistics'', social_science_majors: ''Economics*|Economics–Statistics|History*|Political Science*|Politics-Philosophy|Psychology|Sociology*|Urban Studies'', humanities_majors: ''Africana Studies*|Africana Studies–English|Anthropology|Chinese*|Classics*|English Literature*|English Writing|Film Studies*|French*|German|History of Art & Architecture|Humanities Area|Italian*|Italian Studies|Japanese*|Liberal Studies|Music*|Philosophy*|Religious Studies*|Russian|Slavic Studies|Spanish|Studio Arts*|Theatre Arts*'', business_majors: ''Accounting|Finance|General Management|Global Management|Marketing'', engineering_majors: ''Bioengineering*|Chemical Engineering*|Civil Engineering*|Computer Engineering|Electrical Engineering*|Engineering Physics|Industrial Engineering*|Materials Science and Engineering*|Mechanical Engineering*'', professional_majors: ''Administration of Justice*|Applied Developmental Psychology|Architectural Studies|Athletic Training|Clinical Dietetics and Nutrition|Communication: Rhet & Comm|Communication Science|Dental Hygiene|Emergency Medicine|Health Information Management|Health Services|Health and Physical Activity|Information Science|Legal Studies*|Media and Professional Communications|Nursing|Pharmacy|Public Service*|Rehabilitation Science|Social Work*'' ) else # handle validation errors end @college= College.find_or_create_by_name!(''Harvard'') if @college.update_attributes( url: ''harvard'', public: ''Private'', years: ''4-year'', category: ''National University'', calendar: ''Semester'', location: ''Cambridge, MA'', setting: ''Small City (50-250k)'', degrees: ''Bachelors, Masters, Doctoral'', rotc: ''Air Force, Army, Navy'', considered: ''Academic GPA|Alumni Relation|Application Essay|Character/Personal Qualities|Extracurricular Activities|First Generation College Student|Geographical Residence|Interview|Racial/Ethnic Status|Recommendations|Rigor of secondary school record|Standardized Test Scores|Talent/Ability|Volunteer Work|Work Experience'', student_faculty: ''7 to 1'') else # handle validation errors end

Olvidé todas las otras universidades. Hasta ahora, tengo 200 escuelas, pero hasta ahora Pitt es el único con datos completos. El resto solo tiene datos básicos, como Harvard. También dejé algunos de los datos de Pitt en aras de la brevedad, pero avíseme si desea que incluya el resto.

Editar: Traté de eliminar los * en science_majors en down y luego ejecutar rake db:seed , pero eso no cambió nada.


Añadir

#encoding: utf-8

en la parte superior del archivo


Al igual que otros sugirieron, agregué #encoding: utf-8 a la parte superior de mi archivo (en este caso, seed.rb), pero aún no pude hacer funcionar la tarea de rake.

Curiosamente, un amigo me recomendó que elimine los comentarios adicionales generados por los rieles de la parte superior del archivo inicial, de modo que solo #encoding: utf-8 .

¿Qué sabrías? Funcionó.


Está recibiendo un error de codificación porque su sistema de archivos no está configurado para codificar la fecha que ha agregado (ya que presumiblemente incluye nuevos caracteres, posiblemente en su URL de mapa codificada por entidad HTML, que no existía en su semilla de datos anterior) .

La siguiente voluntad debería resolver este error configurando la configuración regional UTF-8 en su máquina:

# from your command line export LANG=en_US.UTF-8 export LANGUAGE=en_US.UTF-8 export LC_ALL=en_US.UTF-8 bundle

La ventaja de establecer una configuración regional del sistema es que todas las gemas (en adelante) se agruparán utilizando la codificación UTF-8.

EDITAR:

Alternativamente, si no desea cambiar la codificación de su sistema, puede establecer su codificación en todo el proyecto especificando un estándar de codificación en su Gemfile:

if RUBY_VERSION =~ /1.9/ # assuming you''re running Ruby ~1.9 Encoding.default_external = Encoding::UTF_8 Encoding.default_internal = Encoding::UTF_8 end


Hay un caracter no válido en su archivo semilla, en mi caso cambiando las comillas simples de `to ''resueltas.


Si tiene este problema en un contenedor de Ruby Docker, puede establecer LANG=C.UTF-8 :

docker run -it --rm -e LANG=C.UTF-8 ruby ...

o mira este problema


También puedes intentar export RUBYOPT="-KU -E utf-8:utf-8" como se menciona en este hilo de GH