Я работаю над исправлением этой проблемы в течение нескольких дней. Я продолжаю получать ошибку:Продолжайте получать ActiveRecord :: AssociationTypeMismatch
ActiveRecord::AssociationTypeMismatch in SatellitesController#create
Satellite(#70098878574220) expected, got String(#70098849353340)
Я просмотрел весь этот сайт, но ничего не помогает. Это то, что я в моем коде до сих пор:
В моей new.html.erb файле:
<%= form_for(@satellite) do |f| %>
<div class="field">
<%= f.label :parent_id %></br>
<%= f.select(:parent_id, Satellite.all.collect { |s| [ s.name, s.id ] }, { :include_blank => '-select-' }) %>
</div>
И это объединение Я использую:
class Satellite < ActiveRecord::Base
validates :name, :presence => true, :uniqueness => true
has_many :satellites, class_name: 'Satellite', foreign_key: 'parent_id'
belongs_to :parent_id, class_name: 'Satellite', foreign_key: 'parent_id'
end
Любая помощь будет БЫТЬ НАСТОЯТЕЛЬНО оценен!
Показать StackTrace фактической ошибки и строку кода, он ссылающийся на ваш вопрос. – Veraticus
Да, в частности, ваш метод 'create' в вашем' SatellitesController'. –
def create @ satellite = Satellite.new (params [: satellite]) если @ satellite.save redirect_to @satellite, извещение: «Спутник был успешно создан». еще оказать действие: «новый» конец конец – haxel