当我尝试使用提供的表单参数保存无表格模型时出现此错误:
用户是我的设计模型。我不知道错误的来源,原因是什么。我不应该约会或等等。
我使用ActiveRecord Tableless gem创建了无表格模型:
class Search < ActiveRecord::Base
has_no_table
column :start_date, :date
column :end_date, :date
column :smart, :boolean
end
我的表格:
<%= form_for @search, url: {controller: 'search', action: 'search'} do |s| %>
<%= s.hidden_field :smart, :value => false %>
<div class='col-md-4'>
<div class="form-group">
<div class='input-group'>
<%= s.text_field :start_date, class: 'form-control', required: true %>
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class='col-md-4'>
<div class="form-group">
<div class='input-group'>
<%= s.text_field :end_date, class: 'form-control', required: true %>
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="col-md-1">
<%= button_tag 'Search', class: 'btn btn-success' %>
</div>
<% end %>
我的控制器,我收到错误:
class SearchController < ApplicationController
def search
@search = Search.new(search_params)
puts params
puts @search.as_json.to_s
end
private
def search_params
params.require(:search).permit(:start_date, :end_date, :smart)
end
end
我正在为我的表单使用模型,因为我希望它在未来与其他模型有多对一的关联。
正如 alexcavalli 所指出的,这是ActiveRecord Tableless gem的一个问题。可以找到该票证here。
答案 0 :(得分:0)
看起来该方法名称的from_user
部分与设计无关。它只是一个ActiveRecord方法。
http://www.rubydoc.info/github/rails/rails/ActiveRecord/Type/Value:type_cast_from_user
Tableless gem和Rails 4.2存在一个未解决的问题 https://github.com/softace/activerecord-tableless/issues/22#issuecomment-67742177
或者还有一些信息可能是由Postgres适配器引起的
使用Postgresql(pg)适配器时,此问题仍然存在。我在使用时遇到错误:string。通过使用:varchar
可以解决这个问题
您可能最好在那里提交错误报告和/或尝试稍微旧版本的Rails。祝你好运!