可能重复:
ruby 1.9:UTF-8中的无效字节序列
我正在构建一个文件系统爬虫,并在运行我的脚本时收到以下错误:
wordcrawler.rb:8:in `block in <main>': invalid byte sequence in UTF-8 (ArgumentError)
from /Users/Anconia/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/find.rb:41:in `block in find'
from /Users/Anconia/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/find.rb:40:in `catch'
from /Users/Anconia/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/find.rb:40:in `find'
from wordcrawler.rb:5:in `<main>'
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
require 'find'
count = 0
Find.find('/Users/Anconia/') do |file| # '/' for root directory on OS X
if file =~ /\b(\.txt|\.doc|\.docx)\b/ # check if filename ends in desired format
contents = File.read(file)
if contents =~ /regex/
puts file
count += 1
end
end
end
puts "#{count} files were found"
Run Code Online (Sandbox Code Playgroud)
在我的开发环境中,我使用ruby 1.9.3; 但是,当我切换到ruby …
下面我在一个名为Movie的模型中创建了一个类方法,它应该返回一个数组:
def self.all_ratings
Array['G','PG','PG-13','R','NC-17']
end
Run Code Online (Sandbox Code Playgroud)
在我的电影控制器中,我使用以下实例变量访问它:
@all_ratings = Movie.all_ratings
Run Code Online (Sandbox Code Playgroud)
但是,当我在索引视图中使用它时,我收到以下错误:
You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.each
Run Code Online (Sandbox Code Playgroud)
我相信我正在正确地创建阵列,但我可能是错的.有关这些错误发生的原因吗?
以下是使用@all_ratings的视图:
%h1 All Movies
= form_tag movies_path, :method => :get do
Include:
- @all_ratings.each do |rating|
= rating
= check_box_tag "ratings[#{rating}]"
= submit_tag 'Refresh'
Run Code Online (Sandbox Code Playgroud)
以下是我如何将@all_ratings实现到控制器中
class MoviesController < ApplicationController
@all_ratings = Movie.all_ratings
Run Code Online (Sandbox Code Playgroud) 我有一个电影列表以及他们的评级.在我的页面顶部,我有一个表单,其中列出了显示每个可用评级(G,PG-13等)的复选框.一旦用户点击复选框并点击提交,我只想显示所选的电影.
在我的索引方法中,我有一个名为的实例变量@filtered_ratings,它从已检查的电影中收集密钥.我的想法是@movies使用find方法在我的控制器中进行更改,并将键与@filtered_ratings电影列表进行匹配.但是,我认为我一直在做错,因为我无法让它发挥作用.我尝试了几种方法,@movies=Movie.find(params[:id] = @filtered_ratings)但我知道这是不正确的.有什么建议?
我有一个存储一堆jpg图像的文件夹.当一个新图像添加到此文件夹时,我需要在其上运行python脚本.
这可能吗?如果是这样,怎么样?我看到的一个可能的解决方案是pyinotify,但没有看到任何可靠的例子.
我正在尝试使用嵌入式徽标和文本构建以下圈子.我一直在使用Bootstrap来提供响应能力,这篇文章也需要效仿.我目前遇到了几个问题:
1)文本保持在1行,并且当有多个句子时不会换行
2)无法嵌入必要的徽标或按钮
以下是HTML和CSS

.circle {
width: 100%;
border-radius: 50%;
text-align: center;
font-size: 12px;
padding: 50% 0;
line-height: 0;
position: relative;
background: #38a9e4;
color: white;
font-family: Helvetica, Arial Black, sans;
}Run Code Online (Sandbox Code Playgroud)
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet" />
<div class="row">
<div class="col-md-4 col-md-offset-4">
<div class="circle">
Text text text
</div>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
我试图从本教程制作以下条形图.本教程使用TSV文件,但我修改了JSON代码.我已经检查过我创建的Node/Express服务中的端点确实返回了JSON,如下所示.还包括适当的D3库.检查完所有这些后,我无法获取图表.http://localhost:3000/graphs/data
目标是route在x轴和county轴上.任何建议将不胜感激.
JSON响应:
[{"route":"9","count":273},{"route":"49","count":242},{"route":"151","count":221},{"route":"8","count":220},{"route":"3","count":213},{"route":"82","count":209},{"route":"79","count":206},{"route":"N5","count":206},{"route":"62","count":206},{"route":"4","count":202}]
Run Code Online (Sandbox Code Playgroud)
条形码代码
<script>
var margin = {top: 40, right: 20, bottom: 30, left: 40},
width = 960 - margin.left - margin.right,
height = 500 - margin.top - margin.bottom;
var formatPercent = d3.format(".0%");
var x = d3.scale.ordinal()
.rangeRoundBands([0, width], .1);
var y = d3.scale.linear()
.range([height, 0]);
var xAxis = d3.svg.axis()
.scale(x)
.orient("bottom");
var yAxis = d3.svg.axis()
.scale(y)
.orient("left");
var tip = d3.tip()
.attr('class', 'd3-tip')
.offset([-10, 0])
.html(function(d) { …Run Code Online (Sandbox Code Playgroud) 我正在尝试在heroku上部署Flask应用程序,该应用程序在Celery中使用后台任务。我已经实现了应用程序工厂模式,以便将celery进程不绑定到flask应用程序的任何一个实例。
这在本地有效,但我还没有看到错误。但是,当部署到heroku时,总是会出现相同的结果:celery任务(我只使用一个)在第一次运行时成功,但是对该任务的所有后续celery调用均失败sqlalchemy.exc.DatabaseError: (psycopg2.DatabaseError) SSL error: decryption failed or bad record mac。如果我重新启动芹菜工人,循环将继续。
有多个 问题表明此错误,但没有一个问题指定正确的解决方案。最初,我认为实现应用程序工厂模式将阻止此错误的出现,但还不完全如此。
在app/__init__.py我创建celery和db对象中:
celery = Celery(__name__, broker=Config.CELERY_BROKER_URL)
db = SQLAlchemy()
def create_app(config_name):
app = Flask(__name__)
app.config.from_object(config[config_name])
db.init_app(app)
return app
Run Code Online (Sandbox Code Playgroud)
我的flask_celery.py文件创建了实际的Flask应用程序对象:
import os
from app import celery, create_app
app = create_app(os.getenv('FLASK_CONFIG', 'default'))
app.app_context().push()
Run Code Online (Sandbox Code Playgroud)
我用以下命令开始芹菜:
celery worker -A app.flask_celery.celery --loglevel=info
实际的芹菜任务如下所示:
@celery.task()
def task_process_stuff(stuff_id):
stuff = Stuff.query.get(stuff_id)
stuff.processed = True
db.session.add(stuff)
db.session.commit()
return stuff
Run Code Online (Sandbox Code Playgroud)
通过以下方式调用:
task_process_stuff.apply_async(args=[stuff.id], countdown=10)
Run Code Online (Sandbox Code Playgroud)
图书馆版本