小编Nat*_*anB的帖子

如何获得明显的多态关联

我试图显示一个多态关系列表,没有任何重复.

我有一个StoreViews表,其中包含一个名为viewable的多态字段(因此我的表中有一个viewable_id和viewable_type列).现在我想显示每个多态关系只显示一次的视图,没有重复.

@views = StoreView.
    .distinct(:viewable_id)
    .distinct(:viewable_type)
    .order("created_at DESC")
    .limit(10)
Run Code Online (Sandbox Code Playgroud)

因此,如果StoreView中存在两条具有相同可视关系的记录,则@views应仅返回最新的记录.然而,这种情况并非如此.

ruby sql database postgresql ruby-on-rails

6
推荐指数
3
解决办法
343
查看次数

first_or_create仅插入

我在Rails 5.2项目中使用以下代码:

c = Country.where(name: "test").first_or_create

c.status = "Old"
c.save
Run Code Online (Sandbox Code Playgroud)

这行得通,但是,我只想在没有国家/地区的情况下更改状态(所以我只想插入国家/地区,而不要更新)。但是,我还需要在c以后的代码中使用。

我意识到我可以做一个if语句,但是我必须在代码中多次做类似的事情,而且似乎必须存在一个快捷方式。

ruby if-statement ruby-on-rails

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

查看当前时间是否在两个时间之间

我有两个时间列存储在 Postgresql 数据库中:open_timeclose_time. 我试图找出忽略日期的当前时间是否在两个时间之间,忽略日期。

此代码比较日期和时间:

current_time = Time.now
if current_time.between?(store.open_time, store.close_time)
  puts "IN BETWEEN"      
end
Run Code Online (Sandbox Code Playgroud)

它不起作用,例如, whencurrent_time # => 2018-06-06 23:59:49 -0600open_time # => 2000-01-01 22:59:00 UTC

我如何让它不包括日期,而只是比较时间?

ruby postgresql time ruby-on-rails date

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

标签 统计

ruby ×3

ruby-on-rails ×3

postgresql ×2

database ×1

date ×1

if-statement ×1

sql ×1

time ×1