gpt4 book ai didi

ruby-on-rails - 如何使用 Globalize3 制作本地化的回形针附件?

转载 作者:数据小太阳 更新时间:2023-10-29 07:32:26 26 4
gpt4 key购买 nike

我有一个项目使用 Paperclip gem 作为附件,使用 Globalize3 进行属性转换。记录需要为每个区域设置不同的附件。

我想将 Paperclip 属性移动到翻译表,这可能会起作用,但我认为当 Paperclip 需要删除附件时这不会起作用。

实现类似目标的最佳方法是什么?

更新:明确地说,我想要这个是因为我的客户想要为每个语言环境上传不同的图像。

最佳答案

不幸的是,我没有找到使用 Globalize3 执行此操作的方法。理论上,我可以为图像添加一个单独的模型并将 image_id 添加到已翻译列的列表中(有类似 MainModel -> Translation -> Image 的东西),但似乎 Globalize 有一些非字符串列的迁移问题。

我没有使用 Globalize3,而是使用具有语言环境属性的单独图像模型和接受嵌套属性的主模型来完成此操作。类似的东西:

class MainModel < ActiveRecord::Base
has_many :main_model_images
accepts_nested_attributes_for :main_model_images

# return image for locale or any other as a fallback
def localized_image(locale)
promo_box_images.where(:locale => locale).first || promo_box_images.first
end
end

class MainModelImage < ActiveRecord::Base
belongs_to :main_model
has_attached_file :image

validates :locale,
:presence => true,
:uniqueness => { :scope => :main_model_id }
end

棘手的部分是让表单只接受一张图片的嵌套属性,而不是 has_many 关系中的所有图片。

=f.fields_for :main_model_images, @main_model.image_for_locale(I18n.locale) do |f_image|
=f_image.hidden_field :locale
=f_image.label :image

关于ruby-on-rails - 如何使用 Globalize3 制作本地化的回形针附件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15459435/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com