小编ker*_*lin的帖子

Ruby流量控制

我在网上找不到任何有用的资源来分解Ruby的不同流控制选项.

让我们假设我在一个方法中迭代一个数组:

def a_method
   things.each do |t|
      # control options?
   end
end
Run Code Online (Sandbox Code Playgroud)

这里有哪些不同的流量控制选项?他们有什么不同?

  1. 重试
  2. 返回
  3. 打破
  4. 下一个
  5. 重做

ruby iteration controls

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

人性化时间

我有很多易腐烂的产品.因此,每个产品都有一个名为hours_expiration的属性,该属性可以告知产品在变坏之前可以使用多少小时.

例如,苹果在168小时后到期; 坚果在4320小时后到期.

鉴于产品的到期时间和当前时间(Time.now或Date.now),我如何在以下某些示例方式中将到期时间人性化?

您的项目设置为关于:

  • 6个月零14天
  • 1个月零13天
  • 1个月1天
  • 27天
  • 1天
  • 23个小时
  • 1小时
  • 50分钟
  • 1分钟

寻找强大而简单的东西!

ruby datetime ruby-on-rails

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

在Bootstrap 4中添加垂直堆叠列之间的间距

不幸的是,似乎没有一种好的方法来管理在某些断点处从水平堆栈过渡到垂直堆栈的列之间的垂直间距.在涉及表单时似乎确实存在解决方案,但这不是这里的情况.我已经尝试过这个解决方案,但是当有多个列连续换行时它不起作用.

为了说明我的场景,这是我的HTML结构:

<body>

  <div class="container">

    <div class="row">

      <div class="col-md-4">
        col 1
      </div>

      <div class="col-md-4">
        col 2
      </div>

      <div class="col-md-4">
        col 3
      </div>

      <div class="col-md-4">
        col 4
      </div>

      <div class="col-md-4">
        col 5
      </div>

      <div class="col-md-4">
        col 6
      </div>

    </div>

  </div>

</body>
Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/b74a3kbs/6/

在中等设备尺寸(md)及以上,我希望那里有两列"行"之间的间距,但是在3列的"第一行"之上没有间距而在"第二行"之下没有间距. 3列.当列垂直堆叠在中等设备大小(md)下方时,我希望每个列之间有间距,但没有列在第一个子节点之上,没有一个在最后一个子节点之下.

理想情况下,无论行中包含多少列(例如,3,5,6,12),该解决方案都可以工作.

html5 spacing css3 twitter-bootstrap-4 bootstrap-4

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

最适合从Phoenix应用程序体系结构中的第三方API服务获取数据的位置

我有一个问题,关于如何最好地处理从我的凤凰应用程序的体系结构中的第三方API获取数据.基本上,我有一个控制器接收客户端的IP地址作为参数.然后,我需要从外部API获取与该IP地址关联的地理位置,并将它们存储在数据库中(即ipgeolocation).

现在我的方法是使用一个插件,然后在连接结构中返回结果.

但我也可以通过直接在模型中创建函数来获取数据,然后在变更集操作期间调用它.

或许还有另一种选择,例如将其作为OTP应用程序.

在这里寻找关于最佳方法的一些指导,或者至少在一方与另一方之间进行权衡.

虽然我的场景是具体的,但这可能是人们遇到的常见设计问题.

architecture api phoenix-framework

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

在Ruby on Rails中将HTML转换为content_tag

您如何将此HTML转换为Rails content_tag助手语法/格式?

<p class="msg">
    <span class="strong">Most people enjoy the inferiority of their best friends.</span>
    <br>
    <span class="emphasize"> - Lord Chesterfield</span>
</p>
Run Code Online (Sandbox Code Playgroud)

html ruby ruby-on-rails

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

查找涉及STI和父子关系的"重复"记录的解决方案

我有一个名为Buyable的基于STI的模型,有两个模型Basket和Item.这里可购买的关注属性是:

  • shop_week_id
  • LOCATION_ID
  • PARENT_ID

篮子和物品之间存在亲子关系.对于篮子,parent_id总是为零,但是通过引用唯一的篮子ID,项目可以属于篮子.因此,篮子有很多物品,而物品属于一个篮子.

我需要一个篮子模型的方法:

如果表中有任何其他具有相同数量和类型的项目的篮子,则返回true.当项目共享相同的shop_week_id和location_id时,它们被认为是相同的类型.

例如:

给出一个篮子(uid = 7)有2个项目:

项目#1

  • id = 3
  • shop_week_id = 13
  • location_id = 103
  • parent_id = 7

项目#2

  • id = 4
  • shop_week_id = 13
  • location_id = 204
  • parent_id = 7

如果表中有任何其他篮子包含正好2个项目,则返回true,其中一个项目具有shop_week_id = 13且location_id = 103,另一个项目具有shop_week_id = 13和location_id = 204.否则返回false.

你会如何解决这个问题?这是不言而喻的,但我正在寻找一个非常有效的解决方案.

ruby mysql sql algorithm ruby-on-rails

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

FactoryGirl in Rails - 具有唯一约束的关联

这个问题是对这里提出的问题的扩展:

在Rails中使用具有唯一约束的关联的factory_girl.获得重复的错误

提供的答案对我来说非常有用.这是它的样子:

# Creates a class variable for factories that should be only created once.

module FactoryGirl

  class Singleton
    @@singletons = {}

    def self.execute(factory_key)
      begin
        @@singletons[factory_key] = FactoryGirl.create(factory_key)
      rescue ActiveRecord::RecordInvalid, ActiveRecord::RecordNotUnique
        # already in DB so return nil
      end

      @@singletons[factory_key]
    end
  end

end
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,当我需要手动构建关联以支持钩子中具有唯一性约束的多态关联时.例如:

class Matchup < ActiveRecord::Base
  belongs_to :event
  belongs_to :matchupable, :polymorphic => true

  validates :event_id, :uniqueness => { :scope => [:matchupable_id, :matchupable_type] }
end

class BaseballMatchup < ActiveRecord::Base
  has_one :matchup, :as => :matchupable
end

FactoryGirl.define do
  factory …
Run Code Online (Sandbox Code Playgroud)

ruby singleton rspec factory-bot

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

在辅助模块中调用控制器方法的指南?

几个问题:

  1. 是否可以在辅助模块中调用控制器方法(例如,应用程序帮助程序)?

  2. 如果是这样,帮助程序如何处理视图的呈现?忽略它?

  3. 在什么情况下你想从帮助器调用控制器方法?这是不好的做法吗?

  4. 你有在helper中调用控制器方法的示例代码吗?

controller ruby-on-rails helper

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

将虚线边框应用于表格设计中的单元格的问题

这是我的小提琴:

http://jsfiddle.net/gFA4p/84/

在此屏幕截图中,绿线表示我尝试应用虚线的位置.

在此输入图像描述

我可以让左右边框显示为虚线,但不显示底部边框.

我该如何解决这个问题?

html css border css-tables

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

错误:启动包中没有指定PostgreSQL用户名

我正在运行 Phoenix 应用程序,当我尝试运行时mix ecto.migrate,遇到以下错误:

GenServer #PID<0.181.0> terminating
** (Postgrex.Error) FATAL (invalid_authorization_specification): no PostgreSQL user name specified in startup packet
    (db_connection) lib/db_connection/connection.ex:148: DBConnection.Connection.connect/2
    (connection) lib/connection.ex:622: Connection.enter_connect/5
    (stdlib) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Last message: nil
State: Postgrex.Protocol
Run Code Online (Sandbox Code Playgroud)

有一些问答涉及这个特定的错误,但不幸的是,我发现它们没有用。所以我转过来了!

附加环境信息:Mac OS X、Postgres.app、PG 9.5 版

database postgresql phoenix-framework

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