我正在构建一个ruby配方管理应用程序,作为其中的一部分,我希望能够将成分数量解析为我可以比较和扩展的形式.我想知道这样做的最佳工具是什么.
我原本计划在一个复杂的正则表达式,然后在该转换人类可读的数字像其他一些代码two或five成整数,最后的代码,将转换说1 cup和3 teaspoons到一些基本的测量.我控制输入,所以我将实际成分分开.但是,我注意到用户输入了像to taste和的抽象测量1 package.至少在抽象测量中,我想我可以忽略它们并进行缩放,只需刮掉它们之前的任何数字.
这里有一些例子
1 tall can
1/4 cup
2 Leaves
1 packet
To Taste
One
Two slices
3-4 fillets
Half-bunch
2 to 3 pinches (optional)
Run Code Online (Sandbox Code Playgroud)
这有什么窍门吗?我注意到用户似乎对构成数量的内容感到困惑.我可以尝试强制实施更严格的规则和推之类的东西tall can,并leaves进入组分的部分.但是,为了强制执行,我需要能够传达什么是无效的.
我可以使用api或gem吗?WolframAlpha最初看起来很有希望,但最终,我不认为它会起作用,除非我能告诉他们我只是喂食他们的配方量.
我也不确定我应该将数量转换成什么"基础"测量.
编辑:只是为了消除任何困惑,这些是我的目标.
能够扩展食谱. 测量像的任意单位
packages不必进行缩放,但精确的像cups或
ounces需要的人.
找出"主要"成分. 在这个问题的背景下,这将主要通过弄清楚配方中最大的成分是什么来完成.在生产中,必须有一些基于成分类型的改性剂,因为显然,flour几乎从未被认为是"主要"成分.但是,chocolate可以谨慎使用,它仍然可以说是一个chocolate cake.
标准化输入. 为了保持网站的一致性,我希望保留一致的缩写.例如,pounds应该是,而不是lbs.
我还添加了NLTK标签,因为我想知道在使用NLTK的 python中这是否更容易.
我试图找出如何验证我正在为载波提供的内容实际上是一个图像.我得到我的图片网址的来源并没有让我回到所有现场网址.一些图像不再存在.不幸的是,它并没有真正返回正确的状态代码或任何东西,因为我使用一些代码来检查远程文件是否存在并且是否通过了该检查.所以,现在只是为了安全起见,我想要一种方法来验证我在获取有效的图像文件之前继续下载它.
这是我用于参考的远程文件检查代码,但我更喜欢能够识别文件是图像的东西.
require 'open-uri'
require 'net/http'
def remote_file_exists?(url)
url = URI.parse(url)
Net::HTTP.start(url.host, url.port) do |http|
return http.head(url.request_uri).code == "200"
end
end
Run Code Online (Sandbox Code Playgroud) 有没有一种简单的方法来重命名控制器?我知道的唯一方法是手动执行或生成新控制器移动代码并销毁旧代码.似乎必须有一种程序化的方法来做到这一点.
我正在使用带有响应式布局的twitter bootstrap 2.1.1,我想在图像的右下角浮动一个标签.我遇到的问题之一是因为它在缩略图宽度超过其浮动太远的图像时响应.另一个问题是我似乎无法让它向右浮动.我还应该补充一点,虽然我想要它在右下角我想要它偏移几个像素,它不是在图像的边缘.此外,文本可能始终缺少照片,即只显示默认图像.
到目前为止,这是我的HTML
<li class="span4">
<div class="photo-group thumbnail">
<a href="/recipes/50500235aa113eb1870001d8" class="photo-wrapper">
<img alt="300x200&text=photo" src="http://www.placehold.it/300x200&text=Photo">
<span class="label label-inverse photo-label">Photo Missing</span>
</a>
<div class="caption">
<div class="pull-right">
by <a href="/users/50494983aa113ebd5c000001">
hadees
</a>
</div>
<a href="/recipes/50500235aa113eb1870001d8">Chocolate Crackle Cookies</a>
</div>
</div>
</li>
Run Code Online (Sandbox Code Playgroud)
这是我的CSS
.content-header {
padding-bottom: 10px;
}
.thumbnail > a > img {
display: block;
margin-left: auto;
margin-right: auto;
max-width: 100%;
}
.photo-group .photo-wrapper {
position: relative;
}
.photo-group .photo-wrapper .photo-label {
position: absolute;
bottom: 0;
}
.photo-group .photo-wrapper .photo-label { …Run Code Online (Sandbox Code Playgroud) 我需要一个普通用户可以编辑模型的系统,但是在管理员批准之前,编辑实际上不会发生.我发现了一个名为paper_trail的宝石,它确实有模型版本,但并不特别支持我想要做的事情.我想知道其他人是如何处理这个问题的.我应该补充一点,我希望能够让用户同时进行编辑.它们不是很复杂,例如一个是别名.
更复杂的部分可能是多个用户编辑相同模型并尝试进行某种合并的情况.
我正在试图找出最好和最快的方法来判断ftp服务器上是否存在文件.
这就是我提出来的......
def remote_exists?(idx)
#@file.rewind if @file.eof?
ftp = Net::FTP.new(FTP_SERVER)
ftp.login
begin
ftp.size(idx)
rescue Exception
return false
end
true
end
Run Code Online (Sandbox Code Playgroud)
看起来只是捕获每个异常都是一个坏主意,但我无法获得正确的特定异常.
我也在我的代码中使用OpenURI来实际获取文件.我试图弄清楚是否可能有更好的方法,但我认为它只是使用Net :: FTP.
在我的rails3应用程序上,我想使用redcarpet来处理用户的帖子和用户评论部分.因此,我想扩展redcarpet以支持将@username转换为指向我网站上用户的链接.我知道redcarpet是用C语言编写的,但无论如何都有简单的方法将其扩展为ruby?用C写它有多难?我应该在redcarpet之外做这件事吗?
此外,我对redcarpet的一些其他扩展感兴趣,这些扩展将是我的应用程序中链接到其他模型的简写.我不确定语法,但我猜它会与github处理问题的方式类似.
我有一堆产品图片,我想在 ruby 中以编程方式删除每个图片的背景。以下是我在 imgur 上放置的一些示例图像。

我会在这里放一个例子,这样你就可以看到,但我不想发布一堆图片。这是所有这些中最简单的。它只有白色背景,但有些产品具有更复杂的背景。我知道在这张图片上做这样的事情可能不会奏效,所以我想弄清楚这一点,并通过不实际删除背景并以某种方式通知我来优雅地失败。
我使用 ruby on rails 3 和carrierwave作为我的上传处理程序。
这甚至是可能的还是我真的只能删除白色背景?
所以我想在我的网站上设置网址,例如http://foobar.com/hadees,这些网址会转到某个人的个人资料中.但是,在注册用户名时,如何确保他们不会选择与我现有路由冲突的内容?
我猜我需要获得现有路线的清单,但我不知道该怎么办.
当用户访问我的不公开市场应用程序页面并安装我的应用程序时,授权弹出窗口只是白屏并且不会关闭.如果我手动关闭弹出窗口,一切都会正常移动.我怀疑这是因为我的应用程序未列出,因为我还没有看到其他市场应用程序的问题,但截至目前我无法改变它.
我们在该页面上遇到的另一个问题是该Integrate with Google按钮似乎不尊重用户使用的当前配置文件.似乎总是使用默认配置文件,如果用户想要使用他们当前使用的其他Google个人资料,则可能会让用户感到困惑.
注意:我发布的应用程序网址用于本地开发,但它也发生在我们的生产应用程序上
