小编aar*_*ell的帖子

如何将完整域映射到基于子域的Rails应用程序帐户?

我正在开发一个Rails应用程序,默认情况下会将用户帐户设置为他们选择的子域.作为一种选择,他们可以将自己的完整域名映射到他们的帐户.

到目前为止,这就是我设置的方式.我正在使用subdomain-fu来为路由提供支持:

# routes.rb
map.with_options :conditions => {:subdomain => true} do |app|
  app.resources # User's application routes are all mapped here
end

map.with_options :conditions => {:subdomain => false} do |www|
  www.resources # Public-facing sales website routes are mapped here
end
Run Code Online (Sandbox Code Playgroud)

除此之外,我使用此处描述方法通过子域或完整域来访问帐户:

before_filter :set_current_account

def set_current_account
  if request.host.ends_with? current_domain
    # via subdomain
    @current_club = Club.find_by_subdomain(current_subdomain)
  else
    # via full domain
    @current_club = Club.find_by_mapped_domain(request.host)
  end
end
Run Code Online (Sandbox Code Playgroud)

我还没有完成构建它的过程,但我已经看到我将遇到路由问题.如果request.host是一些random.com域,那么subdomain-fu不会路由相应的路由?

我假设这不是一个不寻常的问题,所以任何人都可以分享他们如何处理这个问题,或者我如何配置我的路线来做我需要的东西?

ruby subdomain routing ruby-on-rails

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

是否可以通过Ruby on Rails应用程序监控Amazon S3资源使用情况?

比方说,我有一个允许用户上传图像和文档的Web应用程序,我的应用程序将所有这些资产存储在S3上,有没有办法监控资源使用情况的PER用户帐户?

例如,如果用户帐户的存储空间限制为1GB,我该如何监控任何个人使用的限额?

此外(但这对我来说不是问题)如果该用户帐户也有5GB带宽限制,是否有可用的工具可以监控他们的S3带宽?

ruby ruby-on-rails amazon-s3

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

将HTML5 canvas元素转换为链接

将Canvas元素转换为链接的最佳方法是什么 - 我指的是整个画布元素,而不仅仅是图像的一部分.

我尝试过一个显而易见的事情 - 将元素包装在A元素中 - 但在IE9中查找问题.

以此标记为例:

<a href="#link">
  <canvas width="100" height="100">
    //fallback
  </canvas>
</a>
Run Code Online (Sandbox Code Playgroud)

使用CSS我已经设置链接背景颜色在悬停时更改,并且我发现在大多数现代画布支持浏览器中它按预期工作 - 你悬停,背景改变颜色,你点击链接,链接被遵循.

但是,在IE9中,当鼠标悬停在元素上时,它无法识别出它是一个链接 - 没有悬停效果,没有光标变为指针,单击会立即执行.

有趣的是,如果我向A元素添加1像素边框,并将鼠标悬停在1像素边框上,IE9会识别链接,之后您可以将鼠标移到画布上并保持其悬停状态并正常工作作为一个链接.

这几乎就像画布覆盖链接一样,因此浏览器无法识别链接,只能识别画布元素 - 如果这有意义的话?

所以,我真的只想确定一下:

  • 简单地将Canvas元素包装在A元素中是可以接受的 - 这只是IE9很奇怪还是我做错了?
  • 如果我做错了,做这个看似简单的任务的公认技术是什么?

谢谢

UPDATE

好的,所以我在下面的答案都是正确的,但不幸的是,我的实现也没有.我的标记比上面的简化示例复杂得多,所以我猜测实际上还有其他东西正在引起问题 - 本机悬停事件和附带JavaScript的事件 - 没有什么工作.

但是,我想出了一个解决问题的黑客.我给链接一个RGBA背景颜色,不透明度为零.一旦那样,事情就好了.奇怪我知道,但修复:)

html javascript html5 canvas

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

Rails发现所有关联

我认为这是一个非常简单的问题(着名的遗言)......

我有一个Category模型has_and_belongs_to_many Events.我想构建一个简单而有效的查询,查找具有1个或多个事件的所有类别.(使用Rails 3)

我确定我在这里有一个愚蠢的时刻 - 任何帮助赞赏:)

ruby activerecord ruby-on-rails associations

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

为什么我的Cucumber测试在使用Selenium时失败了?

我正在测试一个带有Cucumber/Capybara组合的Rails 3应用程序.我也试图使用Selenium来测试一些特定于JavaScript的场景,但遇到了我不明白的奇怪困难.

我对Cucumber/Capybara的经验非常低,我对Selenium的经验是零.

这是场景:

Scenario: Browsing events
  Given many events exist
  And I am on the events page
  Then I should see a list of 15 events
  When I follow the first event
  Then I should be on the event page
  And I should see a google map
  And I should see the event details
Run Code Online (Sandbox Code Playgroud)

当该场景在RackTest下运行时,它会一直传递到Google Map步骤,此时它会因为没有JavaScript而失败.这是预料之中的.

当我使用默认的JavaScript驱动程序(Selenium)运行测试时,它在第3步失败(我应该看到15个事件的列表).当我观察浏览器窗口时,实际上事件列表根本不包含任何事件 - 几乎就像它们在数据库中不存在一样.

顺便提一下,第一步(存在许多事件),使用FactoryGirl创建一系列事件.

因为这对我来说都很新鲜,我想知道我是否被一个典型的陷阱所困扰?除了标准安装之外,我没有进行任何配置更改rails g cucumber:install.此外,如果相关,我正在使用OSX.

谢谢

testing selenium ruby-on-rails cucumber capybara

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

如何检查一个多维Ruby数组中的元素是否存在于另一个中?

我试图确定一个多维数组中的元素是否存在于另一个类似结构的数组中.

suspects = [['Rod', 100], ['Jane', 75], ['Freddy', 125]]
criminals = [['Bill', 75], ['Ted', 50], ['Rod', 75]]
Run Code Online (Sandbox Code Playgroud)

我正在寻找的回应是真是假.在上面的例子中,响应是真的,因为Rod存在于两个数组中.第二层数组中的整数值没有方位.

我如何用典型的类似Ruby的简洁性来编写这样的测试?

ruby arrays intersection multidimensional-array

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

如何在Ruby中合并数组中的子数组?

我有一个数组,为了论证,看起来像这样:

a = [[1,100], [2,200], [3,300], [2,300]]
Run Code Online (Sandbox Code Playgroud)

在这四个子数组中,我想合并任何第一个元素是重复的地方.所以在上面的例子中我想合并第二和第四个子阵列.但是,需要注意的是,匹配子阵列中的第二个元素不同,我想保持较高的值.

所以,我希望看到这个结果:

a = [[1,100], [3,300], [2,300]]
Run Code Online (Sandbox Code Playgroud)

这个小难题比我的Ruby技能略高,所以我转向社区寻求帮助.任何有关如何解决这个问题的指导都非常感谢.

谢谢

ruby arrays merge multidimensional-array

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