2015-03-03 76 views
0

,当我尝试使用的形式提供的参数来拯救我的无表格模型我得到这个错误:无表型号 - 从形式创建对象NoMethodError PARAMS

error message

用户是我的色器件模型。我不知道错误来自哪里,原因是什么。我不应该投日期或其他。

我创建使用ActiveRecord Tableless宝石无表型号:

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无表宝石的问题。票可以发现here

+0

访问“搜索”页面或提交表单后显示此错误吗? – 2015-03-03 11:41:55

+0

在表单提交中,我调用搜索方法。所以在提交。 – m3dw3 2015-03-03 12:03:49

回答

0

它看起来像from_user该方法名称的一部分与设计无关。这只是一个ActiveRecord方法。

http://www.rubydoc.info/github/rails/rails/ActiveRecord/Type/Value:type_cast_from_user

有一个开放的问题,与无表宝石和Rails 4.2 https://github.com/softace/activerecord-tableless/issues/22#issuecomment-67742177

或者也有一些信息,这可能是由于Postgres的适配器

This issue still exists when using Postgresql (pg) adapter. I get errors when using :string. Have been able to work around this by using :varchar

你可能会最好在那里提交一个错误报告和/或尝试一个稍微老一点的Rails版本。祝你好运!

+0

谢谢,我会检查一下。 – m3dw3 2015-03-03 19:33:54