小编Cyr*_*rus的帖子

会计金额使用整数美分还是小数?

我正在使用 Postgres 和 ActiveRecord 开发一个 Rails 应用程序,它跟踪付款和交易费用(基于百分比)。

目前我正在使用 BigDecimal(和 ActiveRecord 中的小数列)来跟踪这些事务的值,但处理舍入令人沮丧。(例如如何8.05 - 1.0 ==> 7.050000000000001

继续使用decimal美元金额列是否有意义?或者我应该改用integer价值美分存储所有内容,这样我就不需要处理舍入问题。

一个重要的注意事项是,我的交易(截至目前)都不值几美分。

每种方法的优缺点是什么?

accounting database-design currency ruby-on-rails ruby-on-rails-3

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

将Activerecord数据库迁移到Mongoid

我是Rails编程的新手.我正在考虑为每个railscast教程实现设计和omniauth身份验证.由于我还不知道mongoid,我计划刚开始使用Activerecord.最终我想用Mongoid我想.

我如何从Activerecord迁移到Mongoid?

我只想跟我的项目一起滚动.特别是当我的用户很少时,Activerecord可能就足够了.我以前从未这样做过,所以希望有人可以告诉我这种方法是否会比它的价值更麻烦.现在花更多时间学习mongoid对我来说更有意义吗?

我很期待听到Rails老兵的消息.

migration activerecord ruby-on-rails mongodb mongoid

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

在Rails 3中创建新闻源

我想在我的rails应用程序中根据最近的文章和评论创建一个活动源.它们是两种不同类型的activerecord(它们的表结构不同).

理想情况下,我可以创建一个混合的文章和评论数组,然后按相反的时间顺序显示它们.

所以,我可以弄清楚如何得到一个文章和评论的数组,然后将它们合并在一起并按created_at排序,但我很确定,一旦我开始使用分页,它将无法正常工作.

有没有办法创建一个像创建混合数组的东西?

对我来说其他问题之一是它可能是所有文章,它可能是所有评论或两者之间的某种组合.所以我不能只说我将接受最后15篇文章和最后15篇评论.

关于如何解决这个问题的任何想法?

activerecord ruby-on-rails-3

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

使用LEFT JOIN提高性能

我有一个有5或6个LEFT JOINS的mysql查询.正如预期的那样,这很慢.考虑到我只期望大约100个结果,我可能更有意义的是运行大量单独的SQL查询并手动将它们拼接在一起.我猜这需要很长时间,因为使用多个左连接创建的巨大表.是对的吗?

我在Rails 3中这样做.我知道创建活动记录是昂贵的,但我认为它可能比拥有这么多LEFT JOINS更快.我对数据库的工作原理知之甚少.非常感谢任何见解.


编辑:这是实际的查询和表模式

询问

SELECT people.*FROM peopleLEFT JOIN person_organization_relationshipsON person_organization_relationships.person_id = people.id AND person_organization_relationships.stop_person IS NULL LEFT JOIN person_redirect_relationshipsas r_from_others ON r_from_others.parent_id = people.id AND r_from_others.stop_person IS NULL LEFT JOIN person_redirect_relationshipsas r_to_others ON r_to_others.child_id = people.id AND r_to_others.stop_person IS NULL LEFT JOIN person_organization_relationshipsAS r_p_check ON r_p_check.person_id = r_from_others.child_id AND r_p_check.stop_person IS NULL LEFT JOIN organization_redirect_relationshipsas r_o_check ON r_o_check.child_id = person_organization_relationships.organization_id AND r_o_check.stop_organization IS NULL …

mysql activerecord left-join ruby-on-rails-3

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

如何加密 Rails 数据库中的 OAuth 秘密/令牌?

我有一个在 Ruby 2.0 上运行的 Ruby on Rails 应用程序(v4.0.1,尽管我认为这与这里无关),并且我允许用户通过 OAuth 进入第三方服务,以便我访问他们的数据。

我已将应用程序的消费者密钥和消费者秘密存储在源代码控制之外的环境变量中。

在 OAuth / OAuth2 舞蹈中的最后一次回调之后,我为每个用户提供了可用于访问他们的信息的令牌。

对于他们的登录凭据,我使用一种散列方式,不将他们的密码以纯文本形式存储在我的数据库中,所以我想我应该对他们的令牌执行类似的操作,但由于我需要使用这些令牌来访问他们的数据,所以我需要能够重现纯文本,所以我试图找出进行对称加密的最佳方法。

我计划将加密密钥存储为环境变量,然后使用https://gist.github.com/nono/2995118之类的内容来加密令牌。这安全吗?

有人使用过这个https://github.com/reidmorrison/symmetry-encryption gem 吗?

我正在努力阻止自己重新发明轮子。有小费吗?

ruby encryption ruby-on-rails oauth oauth-2.0

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

如何在Cocoa首选项中存储密码?

我打算在我的Cocoa应用程序中存储密码NSUserDefaults但后来我意识到它以纯文本形式存储.

如何存储Cocoa应用程序的密码凭据?

cocoa nsuserdefaults

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

如何使用jquery计算某个类的隐藏div的数量

我有一个动态的表单,我用rails写的.我想确保用户可以添加不超过五个链接.

我从两个链接开始,我有另一个链接,允许用户添加另一个字段.我还在链接旁边有一个链接,允许用户删除一个字段,该字段设置隐藏字段,然后用slideUp();隐藏字段.

我想知道用户希望提交的屏幕上是否有5个字段.

这是我目前正在使用的 - 这只是计算具有该类名的所有div.

if($(".classname").length <5){
//create element dynamically
}
Run Code Online (Sandbox Code Playgroud)

我想检查"style ='display:none;'"我怎么能这样做?

javascript jquery jquery-selectors

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

Solr Sunspot minimum_match

我是新手使用Solr Sunspot for Rails.我正在尝试使用

<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" side="front"/>
Run Code Online (Sandbox Code Playgroud)

所以自然不是所有的代币都会匹配.我无法弄清楚如何在我的搜索http://outoftime.github.com/sunspot/docs/index.html中使用minimum_match功能.任何帮助将不胜感激.

我试过,我得到0结果:

Articles.search do
  fulltext params[:q] do
   :minimum_match => 1
  end
end
Run Code Online (Sandbox Code Playgroud)

solr ruby-on-rails sunspot

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

Redcarpet/Bluecloth不允许标题?

有没有办法使用Redcarpet或Bluecloth,这样当它插入降价时它不会产生任何标题?

例如:

#header 1
Run Code Online (Sandbox Code Playgroud)

收益率:

标题1

标题1(首选)

和:

##header 2
Run Code Online (Sandbox Code Playgroud)

收益率:

标题2

标题2(首选)

markdown ruby-on-rails bluecloth redcarpet

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

在Rails 3中编写自定义验证器

我正在尝试编写一个自定义验证器,用于检查输入到文本字段中的单词数.

我试图按照railscasts第211集中的示例 - http://railscasts.com/episodes/211-validations-in-rails-3

所以我创建了一个文件/lib/word_limit_validator.rb并从教程中复制了相同的代码.我知道这段代码不计算单词的数量,我只是想尝试使用它,因为我知道它应该如何表现.

class WordLimitValidator < ActiveModel::EachValidator  
  def validate_each(object, attribute, value)  
    unless value =~ /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i  
      object.errors[attribute] << (options[:message] || "is not formatted properly")  
    end  
  end  
end
Run Code Online (Sandbox Code Playgroud)

这是我在验证中使用的行:

  validates :body, :presence => true,
                   :word_limit => true
Run Code Online (Sandbox Code Playgroud)

当我尝试加载表单时,我收到以下错误:

未知验证器:'word_limit'

如何让rails识别我的验证器?

系统规格:Mac OS 10.6.7 Rails 3.0.4 ruby​​ 1.9.2p136

validation ruby-on-rails-3

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

如何使用lambda函数验证范围内的唯一性

我正在尝试验证video_id相对于session_id的唯一性.我不知道我做错了什么.这是我的模型代码.

class SessionWatchHistory < ActiveRecord::Base
  validates_presence_of :session_id, :on => :create, :message => "can't be blank"
  validates_presence_of :video_id, :on => :create, :message => "can't be blank"

  belongs_to :video, :class_name => "Video", :foreign_key => "video_id"

  scope :per_session, lambda{ |s| where("session_id = :session", :session => s)}
  validates_uniqueness_of :video_id, :scope => [:per_session]
end
Run Code Online (Sandbox Code Playgroud)

validation ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

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

Ruby一行代码,中断一个块

我正在尝试编写一行代码来告诉我数组中是否有符合一组条件的元素然后中断为true.

例如

我有[1,2,3,4,5,6,7,8,9,10,11,12],我想找到第一个可以被2和3整除的元素.我想写一个衬里,一旦它达到6就会返回true而不处理数组中剩余的元素.

我可以为每个循环编写一个并打破,但我觉得应该有一种方法可以在一行代码中完成.

ruby

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

// =赋值运算符在Python中做了什么

我正在阅读http://hyperpolyglot.org/scripting并偶然发现了// = assignemnt运算符.我以前从未见过它.它有什么作用?

python assignment-operator

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