小编Arn*_*ret的帖子

为什么人们使用普通英语作为翻译占位符?

这可能是一个愚蠢的问题,但这里有.

我见过几个项目使用一些翻译库(例如gettext)和普通英语占位符一起工作.例如:

_("Please enter your name");
Run Code Online (Sandbox Code Playgroud)

而不是抽象的占位符(这一直是我本能的偏好)

_("error_please_enter_name");
Run Code Online (Sandbox Code Playgroud)

我已经看到有关SO的各种建议与前一种方法一起工作,但我不明白为什么.我不知道如果你需要改变英语措辞,你怎么做?因为如果将实际文本用作所有现有翻译的密钥,则还必须编辑所有翻译,并更改每个密钥.或者不是吗?

这不是很麻烦吗?为什么这是行业标准?

以这种方式做这绝对不是正确的规范化.我没有看到这种方法有很大的优势吗?

gettext internationalization

34
推荐指数
4
解决办法
1702
查看次数

有没有使用游标或智能提取的Ruby ORM?

我正在寻找一个Ruby ORM来取代ActiveRecord.我一直在看Sequel和DataMapper.它们看起来很不错,但是它们似乎都不是基本的:当你不需要时,不要将所有内容都加载到内存中.

我的意思是我在ActiveRecord和Sequel上尝试了以下(或等效的)有很多行的表:

 posts.each { |p| puts p }
Run Code Online (Sandbox Code Playgroud)

他们两个都记忆犹新.它们似乎将所有内容加载到内存中,而不是在需要时获取内容.我find_in_batches在ActiveRecord中使用了它,但这不是一个可接受的解决方案:

  1. ActiveRecord不是一个可接受的解决方案,因为我们遇到了太多问题.
  2. 为什么我的代码应该知道分页机制?我很高兴配置页面大小的某个地方,但就是这样.有了find_in_batches你需要做的是这样的:

    post.find_in_batches {| batch | batch.each {| p | 把p}}

但这应该是透明的.

那么有可靠的Ruby ORM可以正确获取吗?


更新:

正如塞尔吉奥所说,在Rails 3中你可以使用find_each我想要的东西.但是,由于ActiveRecord不是一个选项,除非有人能说服我使用它,所以问题是:

  1. 哪些ORM支持相当于find_each?
  2. 怎么做?
  3. 为什么我们需要一个find_each,而find应该这样做,不应该吗?

ruby orm datamapper sequel

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

硒使用铬而不是谷歌铬

我首先安装了Chromium并准备了我的Selenium测试以运行它(我有chromeDriver,我确实创建了指向chrome-browser的符号链接google-chrome).一切都很顺利.

后来我确实安装了google-chrome浏览器来调试一些node.js应用程序,然后Selenium打开谷歌Chrome而不是Chromium.

我无法弄清楚如何找回Chromium开硒.synmbolic链接确实存在并指向chrome-browser.

如果系统上还提供google-chrome,如何使用Chromium运行Selenium?

更新1:更新备选方案怎么样?

$ ls -lah /usr/bin/google-chrome
/usr/bin/google-chrome -> /etc/alternatives/google-chrome

$ ls -lah /etc/alternatives/google-chrome
/etc/alternatives/google-chrome -> /usr/lib/chromium-browser/chromium-browser
Run Code Online (Sandbox Code Playgroud)

selenium google-chrome chromium node.js

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

Haskell - 没有"!!"得到第n个元素

嗨,我需要获取列表的第n个元素,但不使用!! 运营商.我对haskell非常陌生,所以如果您能够更详细地回答而不仅仅是一行代码,我将不胜感激.这就是我现在正在尝试的:

nthel:: Int -> [Int] -> Int
nthel n xs = 0
let xsxs = take n xs
nthel n xs = last xsxs
Run Code Online (Sandbox Code Playgroud)

但我得到:解析错误(可能是不正确的缩进)

先感谢您!

haskell

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

检查"命令"的输出应包含NilClass的意外崩溃

为了使用Cucumber作为命令行脚本,我按照提供的说明安装了aruba gem.它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了

require 'aruba/cucumber'
Run Code Online (Sandbox Code Playgroud)

在'features/env.rb'中

为了确保它的工作,我写了以下场景:

@announce
Scenario: Testing cucumber/aruba
    Given a blank slate
Then the output from "ls -la" should contain "drw"
Run Code Online (Sandbox Code Playgroud)

假设事情应该失败.

它确实失败了,但由于错误的原因它失败了:

@announce
Scenario: Testing cucumber/aruba                 
    Given a blank slate                        
    Then the output from "ls -la" should contain "drw"
        You have a nil object when you didn't expect it!
        You might have expected an instance of Array.
        The error occurred while evaluating nil.[] (NoMethodError)
        features/dataloader.feature:9:in `Then the output from "ls -la" should contain "drw"'
Run Code Online (Sandbox Code Playgroud)

任何人都有任何想法为什么这不起作用?这似乎是非常基本的阿鲁巴行为.

ruby bdd cucumber aruba

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