У меня есть форма, которая требует вытащить все объекты в базе данных в поле выбора. Я рассмотрел другие вопросы SO о collection_select и не могу понять, почему я получаю неопределенную ошибку метода.Collection Выберите undefined method in Rails 4
# Loan Application Model
class LoanApplication < ActiveRecord::Base
has_many :loan_securities, :dependent => :destroy
accepts_nested_attributes_for :loan_securities, :allow_destroy => true
end
# Loan Security Model
class LoanSecurity < ActiveRecord::Base
has_one :security_type
accepts_nested_attributes_for :security_type
end
# Security Type Model
class SecurityType < ActiveRecord::Base
belongs_to :loan_security
end
Каждая заявка на получение займа будет иметь значительные кредитные ценные бумаги, и каждая кредитная гарантия будет иметь один тип безопасности. Я уже засеял DB некоторыми типами безопасности. Пока форма отлично работает с приложением займа к отношениям, связанным с обеспечением кредита.
<%= nested_form_for [@business, @loanapplication], method: :put, :class => "form-horizontal", url: wizard_path, :html => { :multipart => true } do |f| %>
<%= f.fields_for :loan_securities, :wrapper => true do |loan_security| %>
<%= loan_security.collection_select(:security_type_id, SecurityType.all, :id, :name) %>
<% end %>
<% end %>
В loanapplications_controller я добавил Params для обеспечения кредита и типа защиты
loan_securities_attributes: [:id, :_destroy, security_type_attributes: [:security_type_id, :name]]
Сама ошибка:
undefined method `security_type_id' for #<LoanSecurity:xxxxxxx>
может вы публикуете ошибку undefined_method? –
@NickM Добавлено – Questifer