小编guc*_*cki的帖子

activerecord中的子查询

使用SQL,我可以轻松地执行这样的子查询

User.where(:id => Account.where(..).select(:user_id))
Run Code Online (Sandbox Code Playgroud)

这会产生:

SELECT * FROM users WHERE id IN (SELECT user_id FROM accounts WHERE ..)
Run Code Online (Sandbox Code Playgroud)

我怎样才能使用rails'3 activerecord/arel/meta_where?

我确实需要/想要真正的子查询,没有ruby解决方法(使用多个查询).

subquery arel ruby-on-rails-3.1

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

最好的javascript编译器/ minifier

我记得在github上看过一个新的javascript编译器/ minifier,甚至比google的闭包编译器更好.不幸的是,我不记得它的名字并再次找到它.也许有人可以帮助我?:)

谢谢,科林

javascript compiler-construction minify

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

如何在使用rails资产管道时内联css

而不是让页面包含一个样式标记,其中包含从哪里获取css的链接,我可以使用rails的stylesheet_link_tag帮助方法将其添加到我的视图中,我希望直接在页面内部使用css内联.

这是我到目前为止提出的:

%style(type="text/css")=File.read(physical_asset_path("email.css"))
Run Code Online (Sandbox Code Playgroud)

但我找不到任何轨道的辅助方法,它给了我一个资产的物理路径 - physical_asset_path只是我发明的虚拟方法.

有人知道如何在使用rails 3.2.x时获取资产的物理路径吗?

是否有更简单/更好的方式来获取样式表 - 来自共轨资产路径中的css文件 - 内联?

使用案例:大多数电子邮件客户端在没有用户确认的情况下不访问外部源(如css,图像).因此,要正确显示电子邮件,我需要将CSS嵌入电子邮件的HTML中.

ruby-on-rails asset-pipeline

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

default_url_options和rails 3

由于不推荐使用ActionController :: Base#default_url_options,我想知道如何在rails3中设置默认的url选项.默认URL选项不是静态的,而是依赖于当前请求.

http://apidock.com/rails/ActionController/Base/default_url_options

谢谢,科林

actioncontroller ruby-on-rails-3

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

如何向源添加修订和构建日期?

我有一个GCC项目,并希望自动添加构建日期和修订号(从git)的定义到我的源.最好的方法是什么?

我的目标很简单,能够在启动时做这样的事情:

printf("Test app build on %s, revision %d", BUILD_DATE, REVISION)
Run Code Online (Sandbox Code Playgroud)

对于构建我使用make与简单的Makefile.inc,而不是autoconf或类似的东西.

git gcc revision date build

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

selenium 2.4.0,如何检查是否存在警报

在使用selenium 2.4.0之前,我使用了以下代码:

alert = page.driver.browser.switch_to.alert
if alert.text
  ....
end
Run Code Online (Sandbox Code Playgroud)

Selenium 2.4.0包含更改"*当没有警报时在switch_to.alert中提升.",所以我得到一个No alert is present (Selenium::WebDriver::Error::NoAlertOpenError)例外.

如何使用selenium-web-driver 2.4.0检查是否存在警报?

ruby selenium

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

如何避免多态关联

鉴于你必须实现像社交网络中看到的那样的新闻提要,ex facebook.目前我正在使用一个具有多态关联的News类,它可以是Image,Comment,Friendship,GroupMembership等任何类型.每当创建一个Object时,也会创建新闻.它与AR(ActiveRecords)一起工作正常,但是当我切换到DM(DataMapper)或Sequel时,我会遇到麻烦,因为它们都不会直接支持多态关联并阻止它的使用.

一种解决方法是使用带有大量UNION的大型SQL子句来合并应被视为新闻的所有不同表.但这有一些缺点,特别是性能会很糟糕.

所以我想知道如何解决没有多态关联,同时仍然获得良好的性能而没有其他缺点,比如有可能在新闻中添加元数据?

ruby-on-rails polymorphic-associations

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

使用所选项目的下拉菜单,如何使用capybara获取其名称/标签

鉴于以下下拉列表:

<select id="my-dropdown" name="my-dropdown">
  <option value="1">Peter</option>
  <option value="2" selected>Pan</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用以下代码获取当前选择的值(此处为2):

find_field("#my-dropdown").value
Run Code Online (Sandbox Code Playgroud)

但是如何获得当前选择的名称/标签(Pan here)?下面的代码并不能正常工作:

find_field("#my-dropdown").label
Run Code Online (Sandbox Code Playgroud)

谢谢 :)

label capybara drop-down-menu

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

数据库和浏览器摘要身份验证中的加密密码

我写了一个小型的网络服务器,目前在ssl上使用基本的auth.到目前为止一切都很好.现在我想(需要)切换到摘要身份验证.但我无法弄清楚如何使用未在数据库中以明文形式存储的密码来完成此工作?我只存储了用户密码的密码摘要(使用bcrypt生成).是否可以使用http digest auth?

bcrypt digest-authentication

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

编写真正的bdd黄瓜功能/场景的最佳实践

我们是bdd/cucumber的新手,并在团队中讨论如何编写正确的功能/场景.

我们提出了以下两种方法,几乎​​可以描述/解决相同的要求:

Feature: Give access to dossiers to other registered users
  As a logged in user
  In order to show my dossier to other users
  I want to give other users (limited) access to my dossiers

  Background:
    Given I am logged in as "Oliver"
    And another user "Pascal" exists
    And another user "Tobias" exists

  Scenario: I can give access to my own dossier
    When I grant access to "Pascal" with permisson "readonly"
    Then I should see "Access granted."
    And user …
Run Code Online (Sandbox Code Playgroud)

bdd cucumber ruby-on-rails-3

9
推荐指数
3
解决办法
9353
查看次数