我是Rails的新手,如果这很明显,请原谅我.
我正在进行大量的实验,创建应用程序,测试功能等.它使我的第一个脚手架应用程序运行良好,但我想创建第二个应用程序来测试不同的功能.
我在我的计算机上备份了一个文件夹级别,运行$ rails new taskmaster
(测试待办事项列表应用程序).我为Task
模型运行了脚手架,通过启动了服务器$ rails server
,并尝试加载http://localhost:3000
.
但我收到路由错误,说它无法找到"members"
路由.但是members
来自我的第一个Rails应用程序!我想通过$ rails server
在taskmaster
目录中触发,它将启动该应用程序的服务器.
如何告诉Rails服务器提供哪个应用程序?
UPDATE
我刚发现如果我:
$ rails server
应用程序的根目录启动rails服务器http://localhost:3000
它仍然试图去寻找members
路线,因为我通过git回滚了.
我猜这意味着在我的/usr/local/
区域,与我的Ruby和Rails初始安装相关的东西,正在维护这些信息(我的应用程序在我家的目录中的Documents文件夹中设置).
我认为Rails应用程序本质上是目录中的自包含应用程序 - 你只需要一个有效的Ruby安装来实现它们.Rails服务器是否位于每个应用程序目录中,还是可以容纳所有应用程序的一些总体Rails服务器?
我有一个大型数据库(可能在数百万条记录中),文本串相对较短(按街道地址,名称等顺序排列).
我正在寻找一种去除不精确重复的策略,模糊匹配似乎是首选方法.我的问题:许多文章和SO问题涉及将单个字符串与数据库中的所有记录进行匹配.我希望立即对整个数据库进行重复数据删除.
前者是线性时间问题(将值与一百万个其他值进行比较,每次计算一些相似性度量).后者是一个指数时间问题(将每个记录的值与每个其他记录的值进行比较;对于一百万条记录,这与前一个选项的1,000,000次计算相比,大约为5 x 10 ^ 11次计算).
我想知道是否有另一种方法,而不是我提到的"蛮力"方法.我想可能生成一个字符串来比较每个记录的值,然后对具有大致相等的相似性度量的字符串进行分组,然后通过这些组运行暴力方法.我不会达到线性时间,但它可能有所帮助.此外,如果我正确地考虑这一点,这可能会错过字符串A和B之间潜在的模糊匹配,因为它们与字符串C(生成的校验字符串)的相似性尽管彼此非常相似但是非常不同.
有任何想法吗?
PS我意识到我可能在时间复杂度上使用了错误的术语 - 这是一个我基本掌握的概念,但不够好,所以我可以在现场将算法放入适当的类别.如果我使用了错误的术语,我欢迎更正,但希望我至少得到了我的观点.
编辑
一些评论者提出,鉴于记录之间的模糊匹配,我的策略是选择要删除哪些(即给出"foo","boo"和"coo",这将被标记为重复并删除).我应该注意,我不是在寻找自动删除.其目的是在6000万个记录数据库中标记可能的重复数据,以供人工审查和评估之用.如果有一些误报,可以,只要它是一个大致可预测/一致的数量.我只需要了解复制品的普遍程度.但是如果模糊匹配传递需要一个月才能运行,那么这首先不是一个选项.
我正在创建一个电子商务网站,我无法开发一个好的算法来将从数据库中提取的产品分类到适当的中间组.我试过简单地将最高价格划分为4,然后将每个组别除以此.我也尝试了基于均值的标准偏差.两者都可能产生没有产品落入的价格范围,这不是一个有用的过滤选项.
我也尝试过四分之一的产品,但我的问题是价格从1美元到4,000美元不等.4,000美元几乎从未出售过,而且重要性要低得多,但他们的结果却在不断下滑.
有什么想法吗?我应该在统计课上更加注意......
更新:
我最后结合了一些方法.我使用了四分位数/桶方法,但通过硬编码某些范围来破解它,在这些范围内会出现更多的价格组.
//Price range algorithm
sort($prices);
//Divide the number of prices into four groups
$quartilelength = count($prices)/4;
//Round to the nearest ...
$simplifier = 10;
//Get the total range of the prices
$range = max($prices)-min($prices);
//Assuming we actually are working with multiple prices
if ($range>0 )
{
// If there is a decent spread in price, and there are a decent number of prices, give more price groups
if ($range>20 && count($prices) > 10)
{
$priceranges[0] = …
Run Code Online (Sandbox Code Playgroud) 我正在开发一个具有一些社交方面的PHP/MySQL电子商务网站,我希望将其与Facebook集成.我已经有一个本机用户注册/会话处理系统.我已设法包含iframe"社交插件",例如"赞"按钮.但我真的想为用户提供在本地注册过程中通过Facebook注册网站的选项.
我理解通过OAuth协议获取访问令牌并最终获取用户ID的想法.我的担忧有两方面:
这种方法安全吗?这是一个电子商务网站,但我不存储任何信用卡或任何其他敏感数据.我想不出如何利用它,但我只是一个头!
我了解如何检索初始令牌并在注册过程中获取用户ID.但是如何识别返回(会话)用户?我是否必须为此实现Javascript SDK(我想避免的事情)?或者,我是否像处理本地会话一样处理会话,但在适当的时候使用Facebook用户ID替换会话cookie中的普通用户ID?
如果答案很明显,我道歉.我搜索了谷歌和Facebook的文档,但我找到的一半链接是弃用FBConnect wiki文章,新文档很有帮助,但在示例上却很少.我不知道什么是仍然支持,什么是新的,以及如何做到这一点!
在阅读了一些答案和评论之后,我想我可以更好地总结一下我的问题.请参阅下面的详细示例.
我正在寻找一种机器学习算法,可以:
让我们说我正在尝试创建一个能够生成锻炼计划的算法.我会给它一些限制(我每天只能花45分钟锻炼,周四不能锻炼等).然后,我希望它为一周中的每一天生成锻炼计划.
然后,我希望能够告诉算法我不喜欢它生成的计划的一部分(也许我不喜欢在ab锻炼的同一天运行).我给出算法的唯一输入是给定日期的一个练习是"坏"(我取消ab或运行部分,任一个).
但我不会告诉它为什么它是坏的,只是因为它无论什么原因都不起作用.这可能是一百万种不同的原因之一,也许我在运动后将其标记为"不好",我甚至都不知道为什么它不顺利,只是因为我感觉不舒服.
此外,该算法可以假设我没有标记为"坏"的任何锻炼计划表至少是"好的".
我正在寻找一种算法(机器学习,我假设),它会接受这种反馈,并随着时间的推移训练自己,试着猜测我会喜欢什么样的训练.它可能会在相对较小的数据集上工作(我一周不会锻炼数千次),而且我无法从其他人那里获取数据(所以某种推荐引擎就是Netflix了).
我认为这属于二元分类问题 (提议的锻炼计划是"至少确定"或"不好") ,但我不确定从算法的角度来看最佳方法是什么.
我可以(希望)自己弄清楚编码和算法细节,但我需要一些关于哪个算法的指导或建议!
我有一种偷偷摸摸的感觉,我错过了一些明显的东西:
我跑了
RAILS_ENV=production bundle exec rake assets:precompile
在推送到Heroku之前预先编译我的资产.查看/public/assets
显示成功编译application.js
并application.css
显示,但我的预编译文件没有预编译:
admin.js.coffee
blog.js.coffee.erb
[ ... several more similarly named ... ]
twitter.js.coffee.erb
Run Code Online (Sandbox Code Playgroud)
和
admin.css.less
home.css.less
public.css.less
Run Code Online (Sandbox Code Playgroud)
都缺少了/public/assets
.
我认为Rails会预编译application.js/.css文件,以及其他任何不以js/css结尾的文件:
用于编译文件的默认匹配器包括application.js,application.css和所有不以js或css结尾的文件:
Run Code Online (Sandbox Code Playgroud)[ /\w+\.(?!js|css).+/, /application.(css|js)$/ ]
来自:http://guides.rubyonrails.org/asset_pipeline.html#precompiling-assets
我不想config.assets.precompile
每次资产文件名更改时都手动更新.我错过了一些会让Rails预先编译这些资产的东西吗?
基于以下@Richard赫尔斯的答案,我测试了它通过创建一个独立的资产单独的清单文件(即我改名twitter.js.coffee.erb
到twitter-include.js.coffee.erb
并添加twitter.js
一个单一//= require
的原改名拉).这似乎有效.
必须有比这更简洁的方法,它似乎与上面引用的Rails指南相矛盾.该指南说,唯一不会编译的文件是.js或.css文件未命名application
.我所看到的只是直接编译.js或.css(即不通过清单) - 没有别的.
我试过自己打电话给PayPal,手机上的代表甚至不知道Payflow Link可以这样工作,所以我不相信他的建议.我所有的搜索都遇到了不同的答案.
我正在使用Payflow Link构建电子商务网站,其中CC处理在Paypal托管页面上处理.但是,我考虑实现高级集成方法,客户在我的服务器托管的表单上输入所有CC信息,但表单通过SSL直接POST到Paypal的服务器.使用此方法,我可以维护我的网站的品牌,除了所需的Paypal收据页面.
使用此方法的CC信息不应该触及我的服务器.它们是否需要符合PCI标准?从技术角度来看,我不明白为什么会这样,但从法律角度来看,我迷失在PCI-DSS文件的行话中.该网站每年大约进行1000笔交易.
我试图在我的网站上实现Login with Facebook功能,并试图从Facebook获取访问令牌.这是我的代码:
if params[:error_reason] == "user_denied" then
flash[:error] = "To login with Facebook, you must click 'Allow' to let the site access your information"
redirect_to :login
elsif params[:code] then
token_uri = URI.parse("https://graph.facebook.com/oauth/access_token?client_id=****************&redirect_uri=http://localhost:3000/auth/fblogin&client_secret=***************&code="+URI.escape(params[:code]))
response = Net::HTTP.get_response(token_uri)
session[:response] = response
data = ActiveSupport::JSON.decode(response)
access_token = data[:access_token]
flash[:error] = access_token
redirect_to :register
end
Run Code Online (Sandbox Code Playgroud)
这是一个fblogin
控制器函数,它是获取授权代码(params[:code]
)的初始重定向的目标.
但是当我遇到这个问题时,我收到以下错误:
EOFError in AuthController#fblogin
就Net::HTTP.get_response(token_uri)
行了.我到处搜索过,找不到任何表明这意味着什么的东西.它可能是Facebook在访问令牌中使用的模糊字符吗?我完全迷路了!
页面链接:http : //www.northtreestudios.com/sandbox/
想知道如何让我的网站的背景图像不会由于它们的宽度/位置而触发滚动条。我使用的是 16 列的 960 网格,但背景在任意位置有多个图像以创建一些细节效果。这些不符合网格;它们位于容器的左侧和右侧。
如果您查看链接,您会看到顶部的黄色条纹不会触发滚动,但底部的白色条纹会触发滚动,如果窗口的大小重新调整为小于其宽度。
我基本上希望只有当窗口的宽度小于 960 网格时才会出现水平滚动条。左侧或右侧的所有其他图形附加功能不应触发滚动。有什么方法可以完成这个巨大的、低效的背景图像?
注意:我将所有控制台输出都包含为pastebin链接,以使此问题易于阅读...
我正在尝试为我的RoR应用程序创建一个基本的图像文件上传。但是,每次我提交带有图像的表单(带有单个文件输入的多部分编码表单)时,都会在WEBRick控制台上收到以下错误:
我已经搜索了一段时间,其他几个地方也提到了类似的问题,但是我发现的唯一处方是由于特定版本的错误而升级了机架测试。我似乎找不到他们正在引用哪个版本,而且我已经运行了gem update
,bundle update
但无济于事。这是输出bundle
:
我不确定我还能采取什么措施来升级机架测试-一般来说,我对Rails和Linux环境还是很陌生。
最后一点:尽管我尝试上传几个大小从4KB到300KB的不同文件,但在Firebug中看到的请求大小始终为216B。我对分段文件上传请求的内部运作不是很熟悉,但是我的HTML表单本身是否可能出了问题?
链接到类似问题:
Rails3,黄瓜,水豚,文件上传=>内容正文错误(EOFError)?
http://groups.google.com/group/cukes/browse_thread/thread/5028306893c2c54a
我在这个上画了一个空白.这是我的问题:
精简版
我的image#create
行动是在image.save
通话和投掷失败Undefined method "name" for nil:NilClass
.Image模型包括通过paperclip
gem 上传的文件.
扔我的部分:
只有在我:multipart => true
提交表单时才会出现错误
当我拿出它时,表单完美无缺,当然图像文件没有上传.有关失败位置的详细信息,请参阅下面的堆栈跟踪.在尝试为INSERT语句引用某些内容时,它看起来像是一个零值,但我无法弄清楚是什么.我的控制器参数看起来没问题,我通过记录器进行检查,以确保新Image
实例在点击保存调用之前正确构建.
额外细节
我将尝试包括我能想到的所有细节,按重要性排序:
我正在使用paperclip并试图通过S3进行存储,尽管当我has_attached_file
在我的Image模型中完全注释掉这一行时仍然会出现这个问题.
Image是Collection中的嵌套资源,在其to_param
方法中由slug引用.
我有多租户系统的基础知识(又名Basecamp风格的用户子域,通过中心用户模型实现,范围所有组件).
传递给控制器的参数
{"utf8"=>"✓",
"authenticity_token"=>"JYCMky7851j5cW4ChSWUCCL/02iePf6i/QWAgR8q5tE=",
"image"=>{"name"=>"My testerific image 2",
"slug"=>"my-testerific-image-2",
"description"=>"w",
"collection_id"=>"2",
"sort"=>"3",
"picture_file_name"=>#<ActionDispatch::Http::UploadedFile:0x00000101b3f540 @original_filename="David's pic 005.jpeg",
@content_type="image/jpeg",
@headers="Content-Disposition: form-data; name=\"image[picture_file_name]\"; filename=\"David's pic 005.jpeg\"\r\nContent-Type: image/jpeg\r\n",
@tempfile=#<File:/var/folders/df/mvsv5cs137gbyl8r7h428zp40000gn/T/RackMultipart20110814-64770-duz6wu>>},
"commit"=>"Create Image",
"collection_id"=>"my-new-collection"}
Run Code Online (Sandbox Code Playgroud)
完整堆栈跟踪
activesupport (3.0.9) lib/active_support/whiny_nil.rb:48:in 'method_missing'
/Users/daw/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/psych/visitors/yaml_tree.rb:20:in 'block in initialize'
/Users/daw/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/psych/visitors/yaml_tree.rb:22:in 'yield'
/Users/daw/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/psych/visitors/yaml_tree.rb:22:in 'default'
/Users/daw/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/psych/visitors/yaml_tree.rb:22:in 'block in initialize' …
Run Code Online (Sandbox Code Playgroud) algorithm ×3
e-commerce ×2
facebook ×2
file-upload ×2
oauth ×2
php ×2
ruby ×2
css ×1
duplicates ×1
forms ×1
fuzzy ×1
paperclip ×1
paypal ×1
pci-dss ×1
scroll ×1
statistics ×1