Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 4.2.4 ActiveAdmin全球化仅显示一个输入_Ruby On Rails_Ruby_Activeadmin_Rails I18n_Globalize - Fatal编程技术网

Ruby on rails Rails 4.2.4 ActiveAdmin全球化仅显示一个输入

Ruby on rails Rails 4.2.4 ActiveAdmin全球化仅显示一个输入,ruby-on-rails,ruby,activeadmin,rails-i18n,globalize,Ruby On Rails,Ruby,Activeadmin,Rails I18n,Globalize,在使用rails 4.2.4+activeadmin 0.6.6+rails-i18n 4.0.8+globalize 4.0.3+activeadmin globalize 1.0.0时,我遇到了一个问题。 我面临的问题如下图所示,它仅为我显示一个输入框: 在联系人表中,我应该有更多变量,如下所示: db/migrate/xxxxxxxx\u创建联系人。rb class CreateContacts < ActiveRecord::Migration def up crea

在使用rails 4.2.4+activeadmin 0.6.6+rails-i18n 4.0.8+globalize 4.0.3+activeadmin globalize 1.0.0时,我遇到了一个问题。 我面临的问题如下图所示,它仅为我显示一个输入框:

在联系人表中,我应该有更多变量,如下所示:

db/migrate/xxxxxxxx\u创建联系人。rb

class CreateContacts < ActiveRecord::Migration
  def up
    create_table :contacts do |t|

     t.string :url
     t.boolean :publish, :default => false
     t.integer :sequence
     t.timestamps null: false
    end
  end

  def down
    drop_table :contacts
  end
end
class TranslateForContact < ActiveRecord::Migration
  def up
    Contact.create_translation_table! :tool => :string, :content => :text
  end

  def down
    Contact.drop_translation_table!
  end
end
class Contact < ActiveRecord::Base
  active_admin_translates :tool, :content do
    validates_presence_of :tool, :content
  end
  translates :tool, :content
end
ActiveAdmin.register Contact do

  permit_params :url, :tool, :content, :publish, :sequence, translations_attributes: [:id, :locale, :tool, :content]

  index do
    translation_status
    default_actions
  end

  form do |f|
    f.translated_inputs "Translated fields", switch_locale: false do |t|
      t.input :tool
      t.input :content
    end
    f.actions
  end

end
还有一件相关的事情,因为我也面临“缺少表单缓冲区”的问题,我在activeadmin globalize gem中编辑了以下网页中的代码:

但是我不确定这个编辑是否会导致这个问题

在安装和使用activeadmin globalize之前,我确信有以下输入框:url、:publish、:sequence。
有没有人有解决办法或者知道发生了什么?谢谢

------------最终解决方案------------------
由于没有维护activeadmin globalize,它的大部分功能无法正常工作。我建议使用另一个gem。

对于activeadmin globalize gem,作者于2014年12月9日警告用户,他不再维护gem,请随意使用。你可能想考虑掉宝石。< /P> 但是,就activeadmin而言,我相信您在页面上没有看到任何其他表单输入的原因是因为您没有在下面的代码中包含它们

# app/admin/contact.rb
...
form do |f|
  f.translated_inputs "Translated fields", switch_locale: false do |t|
    t.input :tool
    t.input :content
  end
  f.actions
end
如果您想将它们重新包含在表单中,您需要删除整个代码块,让activeadmin为您创建默认表单输入,或者您可以单独将输入添加回表单中

# app/admin/contact.rb
...
form do |f|
  f.translated_inputs "Translated fields", switch_locale: false do |t|
    t.input :url
    t.input :tool
    t.input :content
    t.input :publish
    ...
  end
  f.actions
end

我已经尝试过你的编码,但仍然无法工作。无论如何,谢谢你的帮助和提醒。我将为i18n尝试另一种宝石,例如traco。