小编Tom*_*man的帖子

在Rails中表达"未来不到一小时"的最佳方式?

如果火车离开现在不到一小时,我希望计划表中的行突出显示为红色.目前我正在做这样的计算:

if Time.zone.now + 1.hour > t[from_station]
  # do whatever
end
Run Code Online (Sandbox Code Playgroud)

这是有道理的,但我想知道是否有一种更清晰/更惯用的方式来表达这一点(我可以想象在几个月内回到这段代码并且不得不停下来思考一下Time.zone.now + 1.hour).

ruby time ruby-on-rails

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

Javascript函数将URL和电子邮件地址转换为可点击的链接

是否有一个Javascript库,它公开了一个函数,可以自动将URL和电子邮件地址转换为可点击的链接?基本上我正在寻找复制Rails助手auto_link()的东西.

javascript jquery ruby-on-rails

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

选择性地将选项传递给另一个方法

我有一个内部song_link调用的方法link_to.我希望调用者能够传递一个选项哈希song_link,然后使用与之相关的选项,并将其余的传递给link_to.这是我的代码:

  def song_link(song, separator = nil, options = {})
    if separator.class == Hash
      options = separator
      separator = nil # not sure about this logic either!
                      # I guess I should roll it into the options hash
    end

    primary_only = false
    if options[:primary_only]
      options.delete(:primary_only)
      primary_only = true
    end

    link_to title_with_artists(song, separator, primary_only), song_path(:song_slug => song.song_slug, :artist_slug => song.artist_slug), options
  end
Run Code Online (Sandbox Code Playgroud)

也就是说,我想检查一下是否options[:primary_only]存在,以及是否确实将其用于其song_link目的而不将其传递给link_to

显然,这种方法不会扩展,因为我添加了更多与之相关song_link但不适用的选项link_to.我该怎么做?

ruby ruby-on-rails

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

如何将用户密码存储到另一个Web应用程序

我正在构建一个Web应用程序,向用户显示他们的Gmail活动(他们最常发送电子邮件的人等)的有趣可视化.显然用户需要给我他的Gmail密码才能使用该应用程序,我想知道我应该如何存储它:

  1. 将Gmail密码存储为纯文本.有风险!
  2. 根本不要存储Gmail密码; 每次他想要同步数据时强制用户输入它.可能不方便!
  3. 在存储之前加密Gmail密码.用户对我的应用程序的密码是关键.

像(3)这样的东西看起来最好,但是(3)我只能在用户登录时同步数据(因为我不知道他的密码在我的应用程序的任何其他时间),这是不理想的.我更喜欢类似Mint.com的解决方案,用户可以随时点击按钮同步Gmail中的数据而无需重新输入密码(任何想法Mint如何在不存储您的银行密码的情况下完成此操作?)

passwords password-storage

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

Internet Explorer等效range.startOffset

如何获得与range.startOffsetInternet Explorer 8及更低版本相同的功能?

也就是说,我想要一个我可以在一个范围内调用的函数,它将告诉我容器中有多少个字符开始.

javascript internet-explorer textrange

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

以Stackoverflow信誉的样式显示数字

我的声誉显示为2,606.

  • 如果我有更多,它看起来像15.4k.
  • 如果我有很多更,它看起来像264K

使用Ruby以这种格式显示数字的最佳方法是什么?

ruby formatting numbers

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

为什么Ruby不自动执行to_s?

我有一个作者类:

class Author < ActiveRecord::Base
  def to_s
    name
  end
end
Run Code Online (Sandbox Code Playgroud)

定义to_s允许我这样做puts Author.first,但不是puts Author.first.rjust(10):

NoMethodError: undefined method `rjust' for #<Author:0x21eb5d4>
Run Code Online (Sandbox Code Playgroud)

如果Ruby to_s在这种情况下自动尝试字符串方法,那不是更好吗?有没有办法得到这种行为?

ruby string metaprogramming

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

如何查看请求对象的外观?

每当我尝试

logger.info ("REQUEST: \n " + request.to_yaml)
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

can't dump anonymous class Class
Run Code Online (Sandbox Code Playgroud)

查看请求对象中的内容(以可读方式)的最佳方法是什么?

ruby ruby-on-rails

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

使用jQuery从HTML blob中删除属性

我有一大堆HTML.如何使用jQuery class从blob中的所有锚标记中删除属性,然后返回生成的HTML?

我觉得这应该有用,但它没有:

$(blob).filter('a').removeAttr('class').end().html()
Run Code Online (Sandbox Code Playgroud)

(它返回空字符串)

如果你解释为什么我的解决方案是错误的,奖励积分.

javascript jquery

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

如何在after_save回调中使用Delayed :: Job?

我要运行的方法process_images异步after_saveDelayed::Job.但是,当我尝试:

after_save lambda { send_later(:process_images) }
Run Code Online (Sandbox Code Playgroud)

我得到了NoMethodError: You have a nil object when you didn't expect it!.(self.send_later(:process_images)工作)

ruby-on-rails callback delayed-job

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

如何更改时间对象上的日期?

假设我有

> time = Time.zone.now
=> Tue, 03 Apr 2018 09:44:14 EDT -04:00
Run Code Online (Sandbox Code Playgroud)

我想要类似的东西

> time.set_date_to(Date.parse("2018-04-13"))
> time
=> Tue, 13 Apr 2018 09:44:14 EDT -04:00
Run Code Online (Sandbox Code Playgroud)

这存在吗?

ruby ruby-on-rails

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

为什么有人会使用Heroku(与安全相关)?

Heroku看起来很棒,但是大多数非平凡的应用程序都需要身份验证,而传统的身份验证方案需要SSL连接,并且无法获取https://your_app_name.com(您只能获得https://your_app_name.heroku.com).

所以如果你使用的是Heroku,那是这样的:

  1. 你不介意将用户引导到另一个域(看起来很糟糕)
  2. 您不介意使用SSL进行身份验证(看起来非常糟糕)
  3. 您的应用不需要身份验证

security ssl heroku

-2
推荐指数
2
解决办法
9421
查看次数