小编Mar*_*arc的帖子

使用jQuery的Twitter/Facebook @mention功能

我正在尝试在我正在构建的应用程序中实现@mention系统并遇到一些困难.

我最初的方法是:

  1. 在textarea/input为@mentionified后创建两个隐藏的输入.第一个将保存正在搜索的文本(用于自动完成).第二个将以@ [objectId:text]的形式保存已发现的提及.

  2. 这比人们想象的更难实施.当有人按下@符号时,我需要开始将后续文本输入自动完成.我只需要在@符号和光标之间获取文本.如果他们点击光标到输入的其他部分来编辑某些内容,然后返回编辑@文本.脚本需要足够智能,只有当用户在@符号后面更新文本时才搜索自动完成.

关于实施这个的最佳方法的想法?那里有插件吗?

twitter jquery hashtag

6
推荐指数
2
解决办法
9207
查看次数

MongoDB MapReduce更新到位如何

*基本上我试图通过他们在过去一小时的分数来订购物品.

我正在尝试为我的数据库中的对象生成每小时的投票金额.投票嵌入到每个对象中.对象模式如下所示:

{
    _id: ObjectId
    score: int
    hourly-score: int <- need to update this value so I can order by it
    recently-voted: boolean
    votes: {
        "4e4634821dff6f103c040000": { <- Key is __toString of voter ObjectId
            "_id": ObjectId("4e4634821dff6f103c040000"), <- Voter ObjectId
            "a": 1, <- Vote amount
            "ca": ISODate("2011-08-16T00:01:34.975Z"), <- Created at MongoDate
            "ts": 1313452894 <- Created at timestamp
        },
        ... repeat ...
    }
}
Run Code Online (Sandbox Code Playgroud)

这个问题实际上与我几天前提出的一个问题有关.在MongoDB中建模投票系统的最佳方法

我(我可以吗?)运行MapReduce命令来执行以下操作:

  1. 仅在最近投票=真或小时分数> 0的对象上运行.
  2. 计算过去一小时内创建的投票总和.
  3. 更新每小时得分=上面计算的总和,最近投票=假.

我还在这里读到,我可以通过在M/R命令之前运行db.getMongo().setSlaveOk()来在从属DB上执行MapReduce.我可以在slave上运行reduce并更新主DB吗?

Mongo MapReduce甚至可以进行就地更新吗?

mapreduce mongodb

6
推荐指数
1
解决办法
4435
查看次数

使用jQuery在文本区域的光标位置创建工具提示

我正在尝试在文本区域中的输入插入符号上方创建工具提示.如果我可以在文本区域中获得插入符号的x,y坐标,这将很容易,但是我已经搜索了一会儿并且无法弄清楚如何做到这一点.

假设用户在文本区域中键入然后按某个键(例如@符号).我试图在文本区域插入符号上方显示一个小工具提示.

有任何想法吗?

jquery

6
推荐指数
1
解决办法
3951
查看次数

如何在resque作业中使用rails helpers?

我正在尝试在我的resque工作中使用一些帮助器并遇到问题.这是我尝试过的:

require 'json'

class SoulmateUserFollowing
  tried this -> include Rails.application.routes.url_helpers
  and this -> include ActionView::Helpers:UrlHelper
  and this -> helper ActionView::Helpers::UrlHelper

  @queue = :soulmate_user

  def self.perform(user_id)
    user = User.find(user_id)
    url = url_for(following_user)
  end
end
Run Code Online (Sandbox Code Playgroud)

我还需要使用image_path方法包含帮助程序,并在模块ImageHelper中包含我的自定义帮助程序.

ruby-on-rails resque

6
推荐指数
1
解决办法
3600
查看次数

rails 3.2开发模式没有显示带有回溯等的完整错误页面

我刚刚升级到rails 3.2一切正常,除了错误页面不再显示正常的开发调试信息.相反,它显示标准的生产错误页面(中间带有红色文本的白色背景:

"我们很抱歉,但出了点问题.我们已经收到有关此问题的通知,我们很快就会对其进行审核."

是否有一个新的设置或我缺少rails 3.2的东西?我已阅读升级说明,并未在任何地方看到它.我尝试降级到3.1.3并且错误页面再次起作用,所以这绝对是一个rails 3.2问题.谢谢.

ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

6
推荐指数
1
解决办法
3361
查看次数

如何在rake任务中渲染一个rabl视图?

我正试图在一个轨道3.2 rake任务中渲染一个rabl视图.我将它呈现为字符串,以便通过Pusher从后台任务发送一些JSON.我从rake任务答案中查看了各种render_to_string,但它们似乎都没有工作.这是我到目前为止:

controller = PostsController.new
av = ActionView::Base.new(MyApp::Application.config.paths['app/views'].first,{},controller)
@post = post
Pusher["some channel"].trigger('new_post', av.render(:template => 'posts/show.json.rabl'))
Run Code Online (Sandbox Code Playgroud)

通过这次尝试,我获得了一个ActionView :: Template :: Error异常和错误"未定义的方法`参数'为nil:NilClass".

ruby-on-rails ruby-on-rails-3 rabl

6
推荐指数
1
解决办法
1170
查看次数

ruby浮动根据顺序添加不同的值

所以这很奇怪.我在Ruby 1.9.3中,并且浮动添加不起作用,因为我预期它会.

0.3 + 0.6 + 0.1 = 0.9999999999999999
0.6 + 0.1 + 0.3 = 1
Run Code Online (Sandbox Code Playgroud)

我在另一台机器上试过这个并获得相同的结果.知道为什么会这样吗?

ruby floating-point

6
推荐指数
2
解决办法
2584
查看次数

rails设计挂钩到on_login

我想在登录/会话创建后挂钩设计.我该怎么做呢?

基本上我想在每次登录时设置用户位置,为此我需要一个登录后的挂钩.

ruby-on-rails devise ruby-on-rails-3.1

4
推荐指数
2
解决办法
3807
查看次数

直接查询MongoDB mapreduce与更新原始集合的结果

我有一个mapreduce工作,运行在一组帖子上,并计算每个帖子的受欢迎程度.mapreduce输出一个包含每个帖子的post_id和流行度的集合.应用程序需要能够按流行度排序.有数百万个帖子,这些流行度每10分钟更新一次.我能想到的两种方法:

方法1

  1. 在帖子表的流行度字段上保留一个索引
  2. 在posts表上运行mapreduce(这将替换以前的mapreduce结果)
  3. 循环遍历mapreduce结果集合中的每一行,并在posts表中单独更新其相应帖子的流行度
  4. 直接在posts表上查询以获取按人气排序的帖子

方法2

  1. 在posts表上运行mapreduce(这将取代之前的mapreduce结果)
  2. 在生成的mapreduce集合中的流行度字段中添加索引
  3. 当应用程序需要帖子时,首先查询mapreduce结果集合以获取已排序的post_id,然后查询posts集合以获取实际的帖子数据

问题

  1. 方法1需要在posts表中维护一个流行度的索引.它还需要每10分钟左右单独更新数百万(邮局表有数百万行)的流行度.它只会更新那些已经改变了流行度的帖子,但它仍然会对带有几个索引的集合进行大量更新.此集合上还会有大量的读取数据.这可扩展吗?
  2. 对于方法2,是否可以mapreduce posts集合来创建新的流行集合,立即在其上创建索引,并查询它?
  3. 问题#2是否存在任何并发问题,假设应用程序将查询该流行度集合,因为它正在通过地图更新并重新编制索引.
  4. 如果mapreduce取代了流行度集合,我每次都需要手动创建一个新索引,或者mongo知道如何在流行度字段上保留一个索引.基本上,索引如何与mapreduce结果集合一起使用.
  5. 我可以使用一些调整或其他方法吗?

谢谢你的帮助!

mapreduce mongodb

4
推荐指数
1
解决办法
773
查看次数

golang request.ParseForm()是否与"application/json"Content-Type一起使用

在Go(1.4)中使用简单的HTTP服务器,如果content-type设置为"application/json",则请求表单为空.这是有意的吗?

简单的http处理程序:

func (s Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
    r.ParseForm()
    log.Println(r.Form)
}
Run Code Online (Sandbox Code Playgroud)

对于此curl请求,处理程序打印正确的表单值:

curl -d '{"foo":"bar"}' http://localhost:3000
prints: map[foo:[bar]]
Run Code Online (Sandbox Code Playgroud)

对于此curl请求,处理程序不会打印表单值:

curl -H "Content-Type: application/json" -d '{"foo":"bar"}' http://localhost:3000
prints: map[]
Run Code Online (Sandbox Code Playgroud)

go

4
推荐指数
1
解决办法
2994
查看次数

在C中从int转换为float会更改值

嗨,我正试图从一个转换int为一个float在C中,由于某种原因,演员改变了价值,我不知道为什么.所以:

fprintf (stderr, "%d,%d\n", rgbValues->green, (float)rgbValues->green);
Run Code Online (Sandbox Code Playgroud)

产生两个不同的数字.请注意,这rgbValues->green是一个int.

知道为什么会这样吗?

谢谢

c casting

2
推荐指数
2
解决办法
1552
查看次数

Lighttpd配置,.我的查询字符串中的(点)导致404

我的网站上有一个地址,如下所示:

http://www.example.com/lookup?q=http%3A%2F%2Fgigaom.com%2F2010%2F10%2F10%2Fangry-birds-for-windows7-phone-dont-count-on-it%2F

在这个例子中,查询字符串的'gigaom.com'部分中的点与lighttpd和我的重写规则紧密相关.我得到一个带有点的404,如果我把点拿出来没有404.我的重写规则如下.万一它有所作为,我正在使用symfony 1.4.

如果有人能对这个问题有所了解,我将不胜感激!

url.rewrite-once = (
    "^/(.*\..+)$" => "$0",
    "^/(.*)\.(.*)"    => "/index.php",
    "^/([^.]+)$"      => "/index.php/$1",
    "^/$"             => "/index.php"
  )
Run Code Online (Sandbox Code Playgroud)

对于任何遇到lighttpd和symfony问题的人(我知道你在那里,因为这个问题有很多未解决的问题)我最终解决并在下面回答它.

mod-rewrite symfony1 lighttpd url-rewriting

1
推荐指数
1
解决办法
5034
查看次数

如何使用 Ember 数据支持多个 API 主机?

我有一个在用户计算机上运行的 Ember 应用程序(带有 ember 数据)。他们的机器上运行着一个 API 服务器,还有一个在线运行。我需要允许用户选择模型的持久保存位置(在其计算机上运行的 API 或在线 API)。因此,有两个 API 主机:

http://localhost:3000
and
http://api.example.com
Run Code Online (Sandbox Code Playgroud)

当用户创建记录时,他们可以设置是将记录保存在本地(通过本地 API 服务器)还是在线保存。我将此选择保留为记录上名为 dataSource 的值。

因此,根据记录数据源,我需要将模型的 ember RestAdapter 主机设置为正确的值。我知道可以根据模型覆盖适配器。例如,我可以创建一个 RecordAdapter 并手动将主机设置为一个值。但是,主机取决于记录中的值,并且我不确定如何使用 Ember Data 来完成此操作,因为其余适配器“主机”是一个属性,而不是一个函数。

http://emberjs.com/api/data/classes/DS.RESTAdapter.html#property_host

用户流程示例:

  • 用户创建新记录,选择在本地存储该记录的选项。
  • 记录保存到本地主机。
  • 用户创建一条新记录,选择在线存储该记录的选项。
  • 记录保存到http://api.example.com
  • 任何时候保存、更新、删除记录等时,都必须检查记录数据源以确定在操作中使用的 api 主机。

ember.js ember-data

0
推荐指数
1
解决办法
1045
查看次数