在 Rails 5.2 中,我有一个使用 has_many_attached :images 的模型。我想发送一封电子邮件,其中包含所有关联图像作为附件。
我的邮件程序方法目前如下所示:
def discrepancy_alert(asset_discrepancy_id, options={})
@asset_discrepancy = AssetDiscrepancy.find asset_discrepancy_id
@asset_discrepancy.images.each_with_index do |img,i|
attachments["img_#{ i }"] = File.read(img)
end
mail to: 'noone@gmail.com', subject: "email subject"
end
Run Code Online (Sandbox Code Playgroud)
显然,File.read 在这里不起作用,因为 img 不是路径,它是一个 blob。我在文档中找不到任何相关信息
有没有一种 Rails 方法可以附加这样的斑点?
@asset_discrepancy.images.each_with_index do |img,i|
attachments["img_#{ i }"] = img.blob.download
end
Run Code Online (Sandbox Code Playgroud)
下载方法可能会使用 RAM 日志,这种用法是否不明智?
看来,随着 ActiveStorage 的添加,rails 邮件程序将拥有一些用于两者之间交互的新方法......我在文档中没有看到任何内容。所有邮件程序附件[]示例都使用本地文件的路径。
抱歉,这个话题已经被讨论过很多次了。但是,我刚刚使用 esbuild 创建了一个新的 Rails 7 应用程序,将 font-awesome-sass 添加到 gem 文件中,创建了 application.css.scss (已经有 application.bootstrap.scss )并放置了“@import 'font-awesome'; ” 在那里。
然后我将以下内容添加到视图页面:
<i class="fa-sharp fa-solid fa-house"></i>
<%= icon 'fa-brands', 'font-awesome' %>
Run Code Online (Sandbox Code Playgroud)
没有页面错误,没有控制台错误——但是,图标在页面上不可见(代码位于源代码中)。我一直在盲目地试图解决这个问题——但是,无法弄清楚为什么这不起作用。
我是否错过了任何步骤?
我已经验证了 gem 的安装说明,我还尝试跳过 gem 并通过纱线安装 fontawesome。视图中没有显示任何图标。
我是iOS的新手,也是SWIFT的新手,没有以前的Obj-C经验.但是,我不是Ruby的新手.我在heroku上有一个基于web的应用程序,我开始学习SWIFT,所以我可以构建一个iOS对应的.在我开始之前,我需要围绕更大的图片包围我,我无法弄清楚这些应用程序如何连接到数据库.
iOS应用程序可以连接到S3数据库......并与网站共享该数据库吗?有关于这个过程的文档,我已经看过了.
说我有一个属于用户模型的文档模型。用户has_many文档。DocumentPolicy可能包括此...
def edit?
document.user_id == user.id
end
Run Code Online (Sandbox Code Playgroud)
但是,如果...要编辑文档怎么办,您还必须能够编辑该文档的父级(用户)。然后,该策略可能如下所示。
def edit?
document.user_id == user.id &&
policy(user).edit?
end
Run Code Online (Sandbox Code Playgroud)
这导致错误:
undefined method `policy' for #<DocumentPolicy
Run Code Online (Sandbox Code Playgroud)
我很好奇是否有更好的方法可以做到这一点。我处理不正确吗?似乎其他人会想做的事情……所以,我希望能对其他人如何做到这一点有所了解。