如何为文档添加翻译

时间:2016-06-07 11:49:22

标签: ruby-on-rails postgresql paperclip activeadmin globalize

我有一张名为'文件'哪个附件(通过paperclip gem),我想为这个附件添加翻译(通过globalize gem)以在Activeadmin中使用。 因此,一旦我在活动管理员中打开文档页面,我想添加两个或更多文档的翻译,但是对于相同的模型(相同的模型ID,但只有区域设置更改)。

Document模型的模式创建表DB表是:

create_table "documents", force: :cascade do |t|
    t.datetime "created_at",       null: false
    t.datetime "updated_at",       null: false
    t.string   "doc_file_name"
    t.string   "doc_content_type"
    t.integer  "doc_file_size"
    t.datetime "doc_updated_at"
    t.integer  "model_id"
  end

,数据库是postgres。

1 个答案:

答案 0 :(得分:0)

最后,我通过删除附件' doc'来解决问题。从文档表中,然后使用globalize gem Document.create_translation_table!创建文档转换表并添加:

has_many :docs
 class Translation
    belongs_to :document
    has_attached_file :doc, MODEL_DOCUMENTS_STORAGE_OPTIONS
    validates_attachment_content_type :doc, content_type: ['application/pdf']
  end

到文档模型,然后最终通过活动管理表单访问它(创建/更新):

form :html => { :enctype => 'multipart/form-data' } do |f|
    f.inputs 'Details' do
      f.translated_inputs 'ignored title', switch_locale: false do |t|
        t.input :doc, :as => :file
      end
    end
    actions
  end