小编Ton*_*ony的帖子

如何在Ruby On Rails中将数字舍入到动态精度?

我想将数字舍入到最接近的数量级.(我想我说的没错)

这里有些例子:

Input => Output

8 => 10
34 => 40
99 => 100
120 => 200
360 => 400
990 => 1000
1040 => 2000
1620 => 2000
5070 => 6000
9000 => 10000
Run Code Online (Sandbox Code Playgroud)

有人知道在Ruby或Rails中写一个快速的方法吗?

基本上我需要知道数字的数量级以及如何舍入该精度.

谢谢!

ruby-on-rails rounding

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

基于WordPress创建网站的工作流程是什么?

我开始一个项目,其中2人将在WordPress上开发一个网站.也可能需要一个开发服务器设置,我的客户端可以在我们推送它之前查看对站点的更改.还可能存在数据库更改(如wordpress设置),应该从开发到开发到生产一直推送.

我想知道最好的工作流程是什么.我理解一般概念,因为我通常在Rails中开发,因此运行迁移并使用capistrano和git,但我希望WordPress站点具有相同的紧密工作流程.有经验的WordPress开发人员吗?

更新:也许我没有说清楚,但我理解wordpress.我创建了5-10个wordpress博客和自定义功能.但是,我从未在一个拥有多人的wordpress网站上工作,或者不得不处理开发,登台和生产环境.

谢谢!

wordpress workflow

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

为什么用户必须输入7位数的Twitter PIN才能授予我的应用程序访问权限?

我正在为我的用户在rails代码推文上实现一些ruby.我正在创建适当的oauth链接...类似于

http://twitter.com/oauth/authorize?oauth_token=y2RkuftYAEkbEuIF7zKMuzWN30O2XxM8U9j0egtzKv
Run Code Online (Sandbox Code Playgroud)

但是,在我的测试帐户授予对twitter的访问权限之后,它会打开一个页面,说"您已成功授予访问权限.只需返回并输入以下PIN即可完成此过程."1234567"

我不知道用户应该在哪里输入此PIN以及为什么他们必须这样做.我不认为这应该是必要的一步.Twitter应该将用户重定向到我在应用程序设置中提供的回调URL.有谁知道为什么会这样?

更新 我发现这篇文章指出我需要将我的用户发送到此URL(注意"authenticate"而不是"authorize"):

http://twitter.com/oauth/authenticate?oauth_token=y2RkuftYAEkbEuIF7zKMuzWN30O2XxM8U9j0egtzKv
Run Code Online (Sandbox Code Playgroud)

我做了更改,但Twitter点击"允许"后再将用户重定向到授权路径,然后再次给他7位数的PIN码!

ruby twitter ruby-on-rails oauth

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

如何使用Mongoid按嵌入文档中的字段对MongoDB集合进行排序?

我想使用Mongoid运行此查询:

db.users.find().sort({'users.roles.name':1})
Run Code Online (Sandbox Code Playgroud)

Mongoid会是什么样子?或者也许有一种简单的方法让Mongoid只执行自定义查询?

mongodb mongoid

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

Ruby Rails Time.change没有像我期望的那样工作......我检查了文档!

我有一个包含一个日期元素和3个时间元素的表单.这是因为在一个日期将发生3次时间事件,我不希望用户必须输入该日期3次.

在服务器端,我想将一个日期与3次组合以获得3个日期时间对象.我以为我可以这样做:

time_object.change(:day => date_object.day, :month => date_object.month, :year => date_object.year)
Run Code Online (Sandbox Code Playgroud)

但这没效果.这是我写的一个简单的测试,我希望它可以工作:

  def before_validation
    logger.info("show_time = " + self.show_time.to_s)
    self.show_time.change(:year => 2012)
    self.show_time.change(:minute => 30)
    logger.info("show_time = " + self.show_time.to_s)
  end
Run Code Online (Sandbox Code Playgroud)

两个打印语句应该不同,但它们是相同的.有谁知道合并时间和日期对象的最佳方法?

ruby time datetime ruby-on-rails date

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

Ruby on Rails time_select插件?

有没有人知道任何只有一个选择框的Ruby on Rails time_select插件?所以选择框有"9:00 AM","9:15 AM"等条目?

我见过几个插件,但没有这样的.

谢谢!

ruby plugins ruby-on-rails datetime-select

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

从ruby on rails time_select helper输出中删除":"?

我想从rails time_select帮助器的输出中删除":".助手似乎在构建分钟选择框时自动输出.

有任何想法吗?

谢谢!

ruby ruby-on-rails helper time-select

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

有必要使用Rails应用程序设置ServerSignature和ServerTokens apache配置选项吗?

我在我的一本铁轨书中看到了我应该设置的东西

ServerSignature Off
ServerTokens Prod 
Run Code Online (Sandbox Code Playgroud)

当应用程序搞砸时,禁止apache在生产中显示服务器信息.这有必要吗?我在prod中看到的唯一错误消息是标准的Rails生成错误消息.我从未看到任何服务器信息.

我需要设置其他与安全相关的apache配置变量吗?

security ruby-on-rails apache-config

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

将开放式身份验证登录添加到用户模型时,表结构应该是什么样子

我有一个带有用户模型的Rails应用程序.我想允许用户使用一些服务登录.我有两种方法可以将其存储在数据库中,但我不确定哪种方法最好.我应该注意,我希望用户能够连接多个服务并链接帐户.

方法1: 对于每个服务,将令牌/秘密字段添加到User表.这似乎有点问题,因为如果我想存储,例如,Twitter令牌,Twitter秘密,推特屏幕名称和推特配置文件img?我可以看到User表有许多未使用的列.我希望每个服务都存储额外的信息.它看起来像这样:

id
twitter_token
twitter_screenname
twitter_secret
twitter_pic
facebook_token
facebook_secret
facebook_pic
facebook_name
google_token
google_secret
google_name
etc.
Run Code Online (Sandbox Code Playgroud)

方法2:
或者每个用户可以有许多社交登录,每个社交登录属于一个用户.然后我会有一张看起来像的桌子

user_id
token
secret
social_type  # foreign key to a social_site look up table
social_pic
Run Code Online (Sandbox Code Playgroud)

社交类型表看起来像:

id
social_site_name
oauth_url
Run Code Online (Sandbox Code Playgroud)

这种方法的唯一不利之处在于我必须概括我将存储的有关所有服务的内容.你们是怎么做到的?也许STI在这里是有序的......每个类型的登录都有一个类,它继承自基础登录类.

谢谢!

database-design ruby-on-rails oauth

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

通过Mongoid ORM将UTF8兼容字符串保存到MongoDB时,字符串无效UTF-8(BSON :: InvalidStringEncoding)

我使用Mongoid为我的ORM将数据从MySQL表导入MongoDB.尝试将电子邮件地址另存为字符串时出错.错误是:

/Library/Ruby/Gems/1.8/gems/bson-1.2.4/lib/../lib/bson/bson_c.rb:24:in `serialize': String not valid UTF-8 (BSON::InvalidStringEncoding)
    from /Library/Ruby/Gems/1.8/gems/bson-1.2.4/lib/../lib/bson/bson_c.rb:24:in `serialize'
Run Code Online (Sandbox Code Playgroud)

从我的GUI - 这是表信息的屏幕截图.您可以看到它以UTF8编码.

表信息

同样来自我的GUI - 这是我导入的MySQL表中字段的屏幕截图

mysql GUI中的数据是什么样的

当我从MySQL CLI获取数据时会发生这种情况.

mysql CLI中的数据是什么样的

最后,当我检查ruby对象中的数据时,我得到的内容如下所示: 检查了红宝石物体

我在这里有点困惑,因为无论我的表是UTF-8还是那个funky显然是有效的UTF-8字符作为双字节.任何人都知道我为什么会收到这个错误?

ruby utf-8 mongodb bson mongoid

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