我有这样的确切错误消息:String[] description();
我错过了什么......但是什么? 谢谢你的帮助:)
这是 views / installations / _form.html.erb
中的搜索表单undefined method to_model' for #<Onduleur::ActiveRecord_Relation:0x007f8bcf631110>
这是我的 installations_controller.rb
<%= simple_form_for :query, url: @onduleurs, method: :get, wrapper: :inline_form, html: {class: 'form-inline'} do |f| %>
<%= f.input :identifier, collection: Onduleur.group(:identifier).map {|o| o.identifier} , prompt: "Choississez un onduleur" %>
<%= f.button :submit, "Chercher", class:"btn btn-success" %>
<%= link_to "Voir tous les onduleurs", {controller: "installations", action: 'show'}, class: "btn btn-success" %>
<% end %>
关于我的模特:
installation.rb
class InstallationsController < ApplicationController
def index
@installations = Installation.all
end
def show
filter_onduleurs if params[:query].present?
@onduleurs ||= Onduleur.all
@installation = Installation.find(params[:id])
end
def new
@installation = Installation.new
end
def create
@installation = Installation.new(installation_params)
if @installation.save
redirect_to installations_path, notice: "L'installation a bien été crée"
else
render :new, notice: "L'installation n'a pas pu être crée, veuillez rééssayer"
end
end
private
def filter_onduleurs
@onduleurs = Onduleur.where('identifier LIKE ?', params[:query][:identifier]) if params[:query][:identifier].present?
@onduleurs = Onduleur.where('datetime LIKE ?', params[:query][:datetime]) if params[:query][:datetime].present?
end
def installation_params
params.require(:installation).permit(:name)
end
end
onduleur.rb
has_many :onduleurs, dependent: :destroy
以下是我的路线:
belongs_to :installation
答案 0 :(得分:2)
多数民众赞成因为to_model
方法只能在一个AR实例上调用。
您在表单中使用url: @onduleurs
而不是Onduleur
模型的单个实例提供了一个集合。