小编ale*_*our的帖子

SQLite:获取当前周

我正在尝试获取当前周以在 SQLite 中进行日期比较。我上个月、去年、今天、昨天都没有问题……但没有找到当前周的解决方案。

我尝试了很多事情,例如:

SELECT tastings.* FROM tastings   
WHERE (DATE(tastings.date) > DATE('now','weekday 1','+ 7 days'))
Run Code Online (Sandbox Code Playgroud)

你能帮助我吗 ?谢谢。

sqlite date

6
推荐指数
2
解决办法
8720
查看次数

Rails:如何覆盖:destroy方法?

我尝试了很多东西来覆盖:destroy方法的行为,但没有任何作用.我首先使用acts_as_paranoia插件,但它不适用于has_many中的模型:通过关联.

我想覆盖:destroy方法只是为了做这样的事情:

  def destroy
    _run_destroy_callbacks { delete }
  end

  def delete    
    self.update_attribute(:status => 0)
    freeze
  end
Run Code Online (Sandbox Code Playgroud)

也就是说,我只想更新另一个字段(状态为0)而不是破坏记录本身.

ruby-on-rails destroy

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

FMDatabase + swift +请求,带有未定义的参数数量

我正在尝试通过Swift类向FMDB发送请求.

这是有效的:

self.database.executeQuery("SELECT * FROM foods WHERE id = ?", withArgumentsInArray:[anID])
Run Code Online (Sandbox Code Playgroud)

因为我使用了executeQuery方法(sql,withArgumentsInArray)

但我不知道如何使用未定义数量的参数的经典方法,而不是具有数组的方法:

self.database.executeUpdate(<#sql: String?#>, withVAList: <#CVaListPointer#>)
Run Code Online (Sandbox Code Playgroud)

我不知道如何在withVAList中编写我的参数.

fmdb swift

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

如何测试新文件是否与模型中的 Active Storage 一起发送?

在我的 Rails 模型中,我有这个代码来强制上传时更改文件名:

before_save :set_filename  
  def set_filename
    if file.attached?
      self.file.blob.update(filename: "#{new_file_name()}.#{self.file.blob.content_type.split('/')[1]}")
    end
  end
Run Code Online (Sandbox Code Playgroud)

问题是即使没有在表单中发送新文件(编辑时),文件名也会更改。

我的附件只是命名文件:

# active storage
  has_one_attached :file
Run Code Online (Sandbox Code Playgroud)

上传时如何真正测试是否附加了新文件?

谢谢,

编辑:更多说明

我有一个带有 file_field 的表单。当我添加或修改表单的对象时,我想测试是否通过表单发送了新文件。

我的模型称为 Image,附加的文件称为 file。

class Image
  has_one_attached :file
end
Run Code Online (Sandbox Code Playgroud)

每次通过表单发送新文件时,我都想更改文件名,当然不是 file_field 保持为空。

ruby-on-rails rails-activestorage

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

如何使用 Rails ActiveStorage 将一个对象从一个模型复制到另一个模型

我目前正在使用 Rails 5.2.2。我正在尝试在 2 个模型之间复制一张图像。所以我想要 2 个文件,以及 blob 和附件中的 2 个条目。我的原始对象/图像在 AWS S3 上。

我的原始模型是照片,我的目标模型是图像

我试过这个:

image.file.attach(io: open(best_photo.full_url), filename: best_photo.filename, content_type: best_photo.content_type)
Run Code Online (Sandbox Code Playgroud)

full_url 是 photo.rb 中添加的一个方法:

include Rails.application.routes.url_helpers
def full_url
  rails_blob_path(self.file, disposition: "attachment", only_path: true)
end
Run Code Online (Sandbox Code Playgroud)

我收到此错误,就好像找不到文件一样:

没有这样的文件或目录@ rb_sysopen - /rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBHZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--2f865041b01d2f2c323a20879a855f25f231289d/881dc909-88ab-43b6-8148-5adbf888b399.jpg?disposition=attachment

我尝试了其他不同的方法(在使用 image_tag() 显示图像时使用此方法并正常工作:

def download_variant(version)
    variant = file_variant(version)
    return rails_representation_url(variant, only_path: true, disposition: "attachment")
  end
Run Code Online (Sandbox Code Playgroud)

同样的错误。

我验证了该文件存在于 S3 服务器上。我错过了什么 ?

谢谢。

copy ruby-on-rails rails-activestorage

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

如何使用 SwiftUI 更改 iOS 16 上的底部工具栏背景?

从 iOS 16 开始,我们可以轻松地自定义导航栏的背景:

.toolbarBackground(barBackgroundGradient, for: .navigationBar)
.toolbarBackground(.visible, for: .navigationBar)
Run Code Online (Sandbox Code Playgroud)

运作良好。

但是,我无法使其适用于底部工具栏:

.toolbarBackground(barBackgroundGradient, for: .bottomBar)
.toolbarBackground(.visible, for: .bottomBar)
Run Code Online (Sandbox Code Playgroud)

它正在编译,但应用程序上没有任何变化。

查看开发人员文档,它应该可以工作......

我也尝试过:

.toolbarBackground(barBackgroundGradient, for: .navigationBar, .bottomBar)
Run Code Online (Sandbox Code Playgroud)

它不会改变任何东西。

任何想法 ?

background toolbar swiftui

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

Rails:dependent => destroy,想要调用另一个动作而不是destroy

我有一个完美运行的has_many:through模型.

  has_many :varietals
  has_many :grapes, :through => :varietals, :dependent => :destroy
Run Code Online (Sandbox Code Playgroud)

我想调用另一个动作而不是:destroy.事实上,我不想取消项目或销毁它,我想将记录状态字段从1更新为0而不是销毁记录.

如何调用自定义方法而不是销毁?我想我可以在模型中做到这一点......谢谢.

这个方法放在哪里?在主模型或模型中,记录将被销毁?

编辑:

我很抱歉,但我认为我没有解释我的问题.我的问题不仅仅是在主模型被销毁之后的某些东西.我想在Varietal模型中自定义destroy动作,即使主记录没有被破坏.

就像是:

class Varietal < ActiveRecord::Base

    private
      def destroy
        self.update_attributes(:status => 0)
      end
end
Run Code Online (Sandbox Code Playgroud)

实际上这个动作没有被称为......

ruby-on-rails destroy

4
推荐指数
2
解决办法
5901
查看次数

自SDK 4.4以来无法在iOS上编译Aviary

自从我更新到Aviary SDK 4.4后,我无法在iOS模拟器上运行我的应用程序.我可以在iPhone和iPad上运行该应用程序.

clang: error: linker command failed with exit code 1 (use -v to see invocation)
ld: 30 duplicate symbols for architecture x86_64
Run Code Online (Sandbox Code Playgroud)

框架和包在"链接二进制文件库"和"捆绑包资源"中可见.

框架搜索路径在构建设置中是正常的.

看起来Aviary框架被管理了两次?

我离开/重新启动Xcode,在iOS模拟器中清理应用程序,清理目标并销毁DerivedData但没有成功.

很奇怪我在真实设备上没有问题.

compiler-errors objective-c ios aviary

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

ElasticSearch 匹配具有不同值的多个字段

我实际上可以执行一个简单的匹配搜索:

query: {match: {searchable: {query:search}}}
Run Code Online (Sandbox Code Playgroud)

这很有效,我的可搜索字段在我的映射中进行了分析。

现在我想对多个字段执行搜索:1 个字符串,所有其他字段都是数字。

我的映射:

mappings dynamic: 'false' do
        indexes :searchable, analyzer: "custom_index_analyzer", search_analyzer: "custom_search_analyzer"
        indexes :year, type: "integer"
        indexes :country_id, type: "integer"
        indexes :region_id, type: "integer"
        indexes :appellation_id, type: "integer"
        indexes :category_id, type: "integer"
      end

def as_indexed_json(options={}) 
      as_json(
        only: [:searchable, :year, :country_id, :region_id, :appellation_id, :category_id]
      ) 
    end 
Run Code Online (Sandbox Code Playgroud)

我试过这个:

query: {
                    filtered: {
                      query: {
                        match: {
                          searchable: search
                        }
                      },
                      filter: {
                        term: {
                          country_id: "1"
                        },
                        term: {
                          region_id: "2"
                        },
                        term: {
                          appellation_id: …
Run Code Online (Sandbox Code Playgroud)

field match elasticsearch

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

使用Rails 4查看子域链接

我目前正在使用Rails 4.2应用程序中的子域名.

我可以在我的控制器中创建像这样的子域名的URL:

redirect_to subdomain: 'cloud', controller: '/home', action: 'login'
Run Code Online (Sandbox Code Playgroud)

但是,我无法在视图中创建包含子域的链接:

<%= link_to t(:LOG_OUT), { :subdomain => 'services', :controller => 'users', :action => 'logout' } %>
Run Code Online (Sandbox Code Playgroud)

=>子域不会因想要的(服务)而改变.我也尝试url_for(),同样的事情.怎么了 ?

subdomain ruby-on-rails hyperlink

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