我正在尝试获取当前周以在 SQLite 中进行日期比较。我上个月、去年、今天、昨天都没有问题……但没有找到当前周的解决方案。
我尝试了很多事情,例如:
SELECT tastings.* FROM tastings
WHERE (DATE(tastings.date) > DATE('now','weekday 1','+ 7 days'))
Run Code Online (Sandbox Code Playgroud)
你能帮助我吗 ?谢谢。
我尝试了很多东西来覆盖: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)而不是破坏记录本身.
我正在尝试通过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中编写我的参数.
在我的 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 保持为空。
我目前正在使用 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 服务器上。我错过了什么 ?
谢谢。
从 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)
它不会改变任何东西。
任何想法 ?
我有一个完美运行的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)
实际上这个动作没有被称为......
自从我更新到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但没有成功.
很奇怪我在真实设备上没有问题.
我实际上可以执行一个简单的匹配搜索:
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) 我目前正在使用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(),同样的事情.怎么了 ?