Quando executo rake db:seed
meu Rails
aplicativo, recebo este erro:
sequência de bytes inválida em US-ASCII (erro de argumento)
Acabei de adicionar science_majors
e baixar ao meu arquivo de semente, e agora, quando executo, rake db:seed
ele me apresenta este erro:
erro de sequência de byte inválido
Por que isso ocorre e como posso corrigir isso?
parte de sementes.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&source=s_q&hl=en&geocode=&q=university+of+pittsburgh&aq=&sll=40.444261,-79.970448&sspn=0.142165,0.251656&ie=UTF8&hq=university+of+pittsburgh&t=m&ll=40.443486,-79.958245&spn=0.010798,0.021038&output=embed"></iframe><br /><small><a href="https://maps.google.com/maps?f=q&source=embed&hl=en&geocode=&q=university+of+pittsburgh&aq=&sll=40.431368,-79.9805&sspn=0.142165,0.251656&ie=UTF8&hq=university+of+pittsburgh&t=m&ll=40.443486,-79.958245&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&source=embed&hl=en&geocode=&q=University+of+Pittsburgh,+4200+Fifth+Ave,+Pittsburgh,+PA&aq=0&oq=uni&sll=40.444261,-79.970448&sspn=0.142165,0.251656&ie=UTF8&hq=University+of+Pittsburgh,+4200+Fifth+Ave,+Pittsburgh,+PA&ll=40.443486,-79.958245&spn=0.010798,0.021038&t=m&layer=c&cbll=40.441775,-79.956671&panoid=BgWQKMiSI1fpwP7JUF16Vg&cbp=12,45.25,,0,-3.34&output=svembed"></iframe><br /><small><a href="https://maps.google.com/maps?f=q&source=embed&hl=en&geocode=&q=University+of+Pittsburgh,+4200+Fifth+Ave,+Pittsburgh,+PA&aq=0&oq=uni&sll=40.431368,-79.9805&sspn=0.142165,0.251656&ie=UTF8&hq=University+of+Pittsburgh,+4200+Fifth+Ave,+Pittsburgh,+PA&ll=40.443486,-79.958245&spn=0.010798,0.021038&t=m&layer=c&cbll=40.441775,-79.956671&panoid=BgWQKMiSI1fpwP7JUF16Vg&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
Eu deixei de fora todas as outras faculdades. Tenho 200 escolas até agora, mas Pitt é o único com dados abrangentes até agora. O restante possui apenas dados básicos, como Harvard. Eu também deixei de fora alguns dos dados para Pitt por uma questão de brevidade, mas me avise se você quiser que eu inclua o resto.
Edit: Eu tentei derrubar o *
's science_majors
para baixo e depois correr rake db:seed
, mas isso não mudou nada.
fonte
#encoding utf-8
à parte superior do seu arquivo para garantir que ele esteja devidamente codificado, como o outro autor da postagem observa astutamente.~/collegeanswers >> export LANG=en_US.UTF-8 ~/collegeanswers >> export LC_ALL="en_US.UTF-8" ~/collegeanswers >> bundle Using rake (10.0.4) . . Using i18n (0.6.1) Your bundle is complete! Use
bundle show [gemname] `para ver onde uma gem empacotada está instalada. ~ / collegeanswers >> rake db: seed rake aborted! `você sabe por quê?rake
erro? As gemas existentes provavelmente ainda não estão configuradas para funcionar com a codificação do sistema de arquivos. Tentebbundle exec gem uninstall i18n
entãobundle install
.invalid byte sequence in US-ASCII (ArgumentError)
. Acabei de tentar o que você disse e obtive o mesmo erro.Adicionar
no topo do arquivo
fonte
Você também pode tentar,
export RUBYOPT="-KU -E utf-8:utf-8"
conforme mencionado neste tópico do GHfonte
shotgun-0.9.1/bin/shotgun:94:in `[]': invalid byte sequence in US-ASCII (ArgumentError)
Se você estiver tendo esse problema em um contêiner docker ruby, você pode definir
LANG=C.UTF-8
:ou assista a este problema .
fonte
Como outros sugeriram, eu adicionei
#encoding: utf-8
ao topo do meu arquivo (neste caso, seed.rb), mas ainda não consegui fazer a tarefa rake funcionar.Curiosamente, um amigo recomendou que eu removesse os comentários adicionais gerados pelo Rails da parte superior do arquivo de seed para que apenas
#encoding: utf-8
permanecessem.O que você sabe - funcionou.
fonte
Há um caractere inválido em seu arquivo de seed, no meu caso mudar aspas simples de `para 'funcionou.
fonte