Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.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 在模型中创建新条目时,如何解决Active Admin中的Formtastic输入错误_Ruby On Rails_Activeadmin_Formtastic - Fatal编程技术网

Ruby on rails 在模型中创建新条目时,如何解决Active Admin中的Formtastic输入错误

Ruby on rails 在模型中创建新条目时,如何解决Active Admin中的Formtastic输入错误,ruby-on-rails,activeadmin,formtastic,Ruby On Rails,Activeadmin,Formtastic,当想要在Active Admin中为模型创建新条目时,我单击操作按钮“创建新雇主”。然后,我收到以下错误消息: Formtastic::未知管理中的输入错误::雇主#新 找不到输入类BinaryInput @input_class_finder.find(as) rescue Formtastic::InputClassFinder::NotFoundError raise Formtastic::UnknownInputError, "Unable to find input #{

当想要在Active Admin中为模型创建新条目时,我单击操作按钮“创建新雇主”。然后,我收到以下错误消息:

Formtastic::未知管理中的输入错误::雇主#新

找不到输入类BinaryInput

@input_class_finder.find(as)
  rescue Formtastic::InputClassFinder::NotFoundError
    raise Formtastic::UnknownInputError, "Unable to find input #{$!.message}"
  end

  # @api private

@Nikita,首先请阅读文档,这将回答您的大多数问题

默认情况下,ActiveAdmin呈现数据库表的所有列以显示表单,但无法显示此特定列 因为没有处理二进制列的选项(请检查,雇主表中有一个二进制类型的列)

因此有两种选择

1) 重写表单声明,如此处所述

如果需要显示列,请为列使用
as::string
选项

2) 也可以创建自定义输入来执行此操作,并使用可能不适合您的源添加初始值设定项

 class BinaryInput < Formtastic::Inputs::StringInput

 end
class BinaryInput
@Nikita,首先请阅读文档,这将回答您的大多数问题

默认情况下,ActiveAdmin呈现数据库表的所有列以显示表单,但无法显示此特定列 因为没有处理二进制列的选项(请检查,雇主表中有一个二进制类型的列)

因此有两种选择

1) 重写表单声明,如此处所述

如果需要显示列,请为列使用
as::string
选项

2) 也可以创建自定义输入来执行此操作,并使用可能不适合您的源添加初始值设定项

 class BinaryInput < Formtastic::Inputs::StringInput

 end
class BinaryInput
解决方法 这对我来说很有效:在下面创建一个文件,它将解决错误

# app/inputs/inet_input.rb
class InetInput < Formtastic::Inputs::StringInput
end
#app/inputs/inet_input.rb
类InetInput
在这种情况下,将
inet
替换为
BinaryInput

理由 可能的问题是,
Formtastic
无法将列类型映射到HTML输入类型

该溶液用formtastic(~>3.1)测试

变通办法 这对我来说很有效:在下面创建一个文件,它将解决错误

# app/inputs/inet_input.rb
class InetInput < Formtastic::Inputs::StringInput
end
#app/inputs/inet_input.rb
类InetInput
在这种情况下,将
inet
替换为
BinaryInput

理由 可能的问题是,
Formtastic
无法将列类型映射到HTML输入类型

该溶液用formtastic(~>3.1)测试


我在编辑
用户
资源时遇到了同样的问题,当Desive创建该资源时

t.inet“当前登录ip”

列类型

如果可以将数据类型从
inet
更改为
string
,只需生成迁移:

rails g migration changedatabasecolumntypeforipaddressessinusers

class ChangeDatabaseColumnTypeForIpAddressesInUsers < ActiveRecord::Migration[5.2]
  def change
    change_column :users, :current_sign_in_ip, :string
    change_column :users, :last_sign_in_ip, :string
  end
end
class ChangeDatabaseColumnTypeForIpAddresseSusiners
我在编辑
用户
资源时遇到了同样的问题,该资源在由designe创建时

t.inet“当前登录ip”

列类型

如果可以将数据类型从
inet
更改为
string
,只需生成迁移:

rails g migration changedatabasecolumntypeforipaddressessinusers

class ChangeDatabaseColumnTypeForIpAddressesInUsers < ActiveRecord::Migration[5.2]
  def change
    change_column :users, :current_sign_in_ip, :string
    change_column :users, :last_sign_in_ip, :string
  end
end
class ChangeDatabaseColumnTypeForIpAddresseSusiners
我遇到了这个问题,不喜欢
StringInput
解决方案,因为它是单行,不能处理换行。同样,您可以通过以下方法解决此问题:

# ./app/inputs/binary_input.rb
class BinaryInput < Formtastic::Inputs::TextInput
end
。/app/inputs/binary\u input.rb
类BinaryInput

如图所示,我遇到了这个问题,不喜欢
StringInput
解决方案,因为它是单行,无法处理换行。同样,您可以通过以下方法解决此问题:

# ./app/inputs/binary_input.rb
class BinaryInput < Formtastic::Inputs::TextInput
end
。/app/inputs/binary\u input.rb
类BinaryInput

如图所示

也许更多的代码将有助于建议答案。像
新操作的活动管理代码。我在哪里可以找到代码?也许更多的代码将有助于建议答案。像
new
操作的活动管理代码。我在哪里可以找到代码?