小编Tim*_*smo的帖子

Ajax队列Backbone js

我在Rails 3.2.2上运行Backbone js 0.9.2,我有一个页面用于添加成本行.一个成本有3个TextFields:标题,描述和价格.

我节省了模糊的每个成本.

model.save()以非常短的间隔多次调用.哪个发出一个create(post)请求,然后update(put)在那之后不久发出请求.我遇到的问题是PUT请求有时会在POST之前到达服务器,结果是模型被创建并持久两次(重复).

为了节省模糊是请求的行为,所以我需要一种方法来排队请求.我已经阅读了有关Spine js的内容,并且他们通过某种队列来解决它.我也看过这个,但似乎无法弄清楚这一点.

感觉这应该是一个常见的问题,使用"单页应用程序"但无法找到任何相关信息.

ajax ruby-on-rails backbone.js ruby-on-rails-3.2

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

如何将collection_check_boxes与数组一起使用?

所以我使用simple_form来构建表单,但这不是必需的.

我想要做的是使用simple_forms collection_check_boxes并传递一个数组.

我将我的标签存储在configatron中:

configatron.tags = [{:name => "wheels", :tagtype => "property"}, {:name => "roof", :tagtype => "property"}, {:name => "doors", :tagtype => "property"}]
Run Code Online (Sandbox Code Playgroud)

这是我的Tag模型:

class Tag
  include Mongoid::Document
  embedded_in :taggable, polymorphic: true

  field :name
  field :tagtype
end
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的:

<%= f.collection_check_boxes :tags, @tags, @tags.map{|tag| tag.name}, @tags.map{|tag| tag.name} %>
Run Code Online (Sandbox Code Playgroud)

其中@tags被设置为configatron.tags在控制器

我只想让collection_check_boxes工作,然后在before_save上构建标记并将其嵌入当前资源中.

我已经读过某个地方,你可以映射到传入的集合中并选择该集合的项目内容.如果我做对了,请覆盖value_method?似乎无法记住你怎么能这样做.我还想传入此资源的当前标记,:collection => resource.tags以便在渲染时检查这些标记.

有没有办法做到这一点?我如何操纵form_builder使这成为可能,如果是这样,怎么样?我应该采取另一种方法吗?

旁注:此功能也应与骨干网一起使用,在某些地方,骨干网将用于添加标签.

tags ruby-on-rails ruby-on-rails-3 simple-form

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

键必须是字符串或符号

建立:

Ruby on rails 3.2.2
Ruby 1.9.2
dataMapper 1.2.0
mongoid 2.4.8
mongoid_orderable 1.0.0
Run Code Online (Sandbox Code Playgroud)

获得keys must be strings or symbols使用mongoid_orderable时错误.

我认为这与我使用的dataMapper有关,除了mongid(使用dataMapper从其他服务器移植数据)

我注意到dataMapper和mongoid之间的冲突,因为它们都使用各种方法扩展Symbol,asc,desc等.这可能是同样的问题吗?

如果有任何帮助,这是我的stacktrace的片段:

keys must be strings or symbols
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/bson-1.6.2/lib/bson/bson_c.rb:24:in `serialize'
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/bson-1.6.2/lib/bson/bson_c.rb:24:in `serialize'
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/mongo-1.6.2/lib/mongo/collection.rb:436:in `update'
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/mongoid-2.4.8/lib/mongoid/collections/master.rb:25:in `block in update'
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/mongoid-2.4.8/lib/mongoid/collections/retry.rb:29:in `retry_on_connection_failure'
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/mongoid-2.4.8/lib/mongoid/collections/master.rb:24:in `update'
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/mongoid-2.4.8/lib/mongoid/collection.rb:149:in `update'
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/mongoid_orderable-1.0.0/lib/mongoid_orderable/mongoid/contexts/mongo.rb:6:in `inc'
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/mongoid_orderable-1.0.0/lib/mongoid_orderable/mongoid/criteria.rb:1:in `inc'
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/mongoid_orderable-1.0.0/lib/mongoid/orderable.rb:125:in `apply_position'
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/mongoid_orderable-1.0.0/lib/mongoid/orderable.rb:85:in `add_to_list'
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/activesupport-3.2.2/lib/active_support/callbacks.rb:419:in `block in _run__3008157942946527494__save__4591629889417243504__callbacks'
/Users/hmm/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/activesupport-3.2.2/lib/active_support/callbacks.rb:215:in `block in _conditional_callback_around_742'
Run Code Online (Sandbox Code Playgroud)

mongoid_orderable的当前实现如下:

class MyModel
  include Mongoid::Document
  include Mongoid::Orderable
  default_scope order_by(:position => :asc)
end
Run Code Online (Sandbox Code Playgroud)

我很确定它与基于stacktrace的_mongoid_orderable_有关,并且如果我注释掉_mongoid_orderable_相关的行,它就可以工作.此处也提出了一个问题

ruby-on-rails datamapper mongoid

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

Rails ActionMailer编码

建立:

Ruby 1.9.2
Rails 3.2.2
Run Code Online (Sandbox Code Playgroud)

我在编写电子邮件时遇到了一些麻烦.

注意:我不熟悉编码和类似的东西.

使用ActionMailer发送电子邮件时,电子邮件中的html会发生奇怪的事情.

所有等号(=)都会变为=3D.例:

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" width=3D"=440">
  <tbody>
    <tr>
      <td height=3D"10">   </td>
    </tr>
  </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

特殊字符如下所示:ä- > ä.

它在本地开发中看起来很棒,但在生产服务器上使用SendGrid时,特殊字符不起作用.

我确定这是因为我缺乏理解.

这是邮件标题:

Mime-Version: 1.0
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-SMTPAPI: {"filters": {}}
Run Code Online (Sandbox Code Playgroud)

它有什么关系Content-Transfer-Encoding吗?或者它应该是那样的?

也许这是SendGrid的问题,而不是我的设置?

SendGrid的一名员工告诉我:you need to make sure your equals signs are URI-encoded这是什么意思?提前致谢!

encoding ruby-on-rails actionmailer

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

与mongoid的关系,我应该使用什么?

我正在使用带有mongoid的Ruby on Rails 3.1并试图在帖子,评论,用户和标签之间建立一个相当简单的关系.我对mongodb很新,而且一般都没有sql,所以我有点困惑.

我想要完成的是:用户,帖子和评论应该能够有多个标签.标签应具有名称,类型以及使用次数的计数.我需要能够获得所有可用的标签,以便用户可以从中进行选择.反之,能够从用户,帖子和评论中检索标签.

我已经阅读了很多关于它的内容,但似乎无法弄清楚我应该采取哪种方法.我应该使用参考或嵌入式关系吗?我看了几个宝石,但似乎没有人像我上面描述的那样工作.

旁注:我稍后将使用Tire作为我的搜索功能.

ruby-on-rails mongodb mongoid ruby-on-rails-3

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