小编mar*_*iec的帖子

Ruby on rails:执行SQL DATE_ADD()函数和IF条件

我需要这个SQL查询Rails友好:

SELECT *,
IF (store.availability_offset IS NULL, DATE_ADD(product.release_date, INTERVAL 0 DAY), DATE_ADD(product.release_date, INTERVAL store.availability_offset DAY))
FROM products JOIN stores ON product.store_id = stores.id
WHERE (DATE_ADD(products.release_date, INTERVAL stores.availability_offset DAY) BETWEEN '2013-06-12' AND '2014-07-12' OR DATE_ADD(products.release_date, INTERVAL 0 DAY) BETWEEN '2013-06-12' AND '2014-07-12');
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止的Rails查询:

@products = Product.joins(:store).where("products.release_date >= :start_date AND products.publishing_date <= :end_date)", :start_date => params[:search][:start_date], :end_date => params[:search][:end_date]")
Run Code Online (Sandbox Code Playgroud)

我想做的事:

  • 实现IF条件,以便availability_offset在其值为NULL的情况下管理商店.

  • 实现DATE_ADD()能够将availability_offset值添加到日期的功能release date.

如果不使用SQL sintax,只需ActiveRecord,我怎么能这样做?谢谢!

sql ruby-on-rails rails-activerecord

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

Ruby on Rails - AWS-SDK配置文件

我在我的Rails项目中使用AWS-SDK gem,我想要一种初始化文件直接连接到我的repo并直接在Rails控制台中进行更改,如下所示:

    # At config/initializers/aws.rb

    Aws::S3::Client.new(
      :access_key_id => 'ACCESS_KEY_ID',
      :secret_access_key => 'SECRET_ACCESS_KEY'
    )
Run Code Online (Sandbox Code Playgroud)

我已经找了文档或教程,但对我来说并不清楚.我该怎么做?谢谢!

ruby-on-rails amazon-web-services aws-sdk

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