Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/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
Ruby on rails 4 Can';t获取要渲染的sabisu gem-显示未找到inet错误的输入_Ruby On Rails 4_Simple Form - Fatal编程技术网

Ruby on rails 4 Can';t获取要渲染的sabisu gem-显示未找到inet错误的输入

Ruby on rails 4 Can';t获取要渲染的sabisu gem-显示未找到inet错误的输入,ruby-on-rails-4,simple-form,Ruby On Rails 4,Simple Form,因此,我正在学习rails上的api教程,并且在错误窗口中不断出现错误“找不到inet的输入” 此错误突出显示此代码块作为问题发生的位置: <div class="appeareable"> <% @explorer.resource_columns.each do |column| %> <%= f.input column, input_html: {name: "#{@explorer.resource_name}[#{column}]

因此,我正在学习rails上的api教程,并且在错误窗口中不断出现错误“找不到inet的输入”

此错误突出显示此代码块作为问题发生的位置:

<div class="appeareable">
    <% @explorer.resource_columns.each do |column| %>
        <%= f.input column, input_html: {name: "#{@explorer.resource_name}[#{column}]" }, as: @explorer.column_type(column), required: @explorer.required_attribute?(column) %>
    <% end %>
</div>

我尝试过锁定指南针和简单表单gems,但是使用rails 4.1.4和ruby 2.1.5时,有些依赖项开始崩溃


看起来simple_form试图呈现一个名为“inet”的资源,但我在gem代码中的任何地方都找不到,甚至在google上的任何地方都找不到。结果是simple_form在处理postgres默认包含在rails 4中的“inet”数据类型时遇到了问题—(对于inet,ctrl-f)

IP过去是字符串数据类型(postgres中的varchar 255),因此将数据库转换为用户表中2个IP字段的字符串(IP中的当前符号和IP中的最后一个符号)可以解决此问题

我可以想象simple_表单将在某个时候更新以处理这种新的数据类型……尽管我在他们的问题日志中没有看到任何提及

为此,我添加了一个新的迁移:

rails g migration change_ip_columns_in_users_table
然后我编辑了迁移文件:

class ChangeIpColumnsInUsersTable < ActiveRecord::Migration
    def change
        change_column :users, :current_sign_in_ip, :string
        change_column :users, :last_sign_in_ip, :string
    end
end
class ChangeIPColumnSuisersTable
迁移解决了这个问题