У меня есть следующий код в форме, который автоматически помещает позицию объекта на вход, используя оператор if, чтобы исключить это при редактировании пользователем.
- if @collection_page.new_record?
= f.input :position, :label => "Display order:", input_html: { value: Spree::CollectionPage.last.position + 1 }
- else
= f.input :position, :label => "Display order:"
У меня проблемы, когда записей нет, и при создании первой я получаю обычную ошибку класса nil.
undefined method `position' for nil:NilClass
Что имеет смысл, потому что у меня пока нет записей.
Так что просто нужно добавить немного логики.
Я пытался:
- if @collection_page.new_record? || Spree::CollectionPage.last.position.present? # and @collection_page.last.position.present?
Безуспешно
Ищете чистый способ добиться этого, заранее спасибо за вашу помощь!
.last.position
, если это новая запись? - person Vasseurth   schedule 06.08.2014if @collection_page.new_record? && Spree::CollectionPage.last.present?
- person Vasseurth   schedule 06.08.2014