I my rails app У меня есть автозаполнение для пользователей, где они могут выбрать свою компанию или поставить новую компанию. У меня также есть контроллер компании, но не хочу, чтобы компания, которая не существует в automplete быть доступными в компании показать страницу, я хочу что-то вроде LinkedIn, когда пользователь поставил компанию, которая не существует, он не будет создан, но будет в Профиле на самом деле мой код, как этоRails4: найти или создать метод
def company_name
company.try(:name)
end
def company_name=(name)
self.company = Company.find_or_initialize_by(name: name) if name.present?
end
<%= f.label :company_name, class: "jobs-newtitles" %><br />
<%= f.text_field :company_name, data: {autocomplete_source: Company.order(:name).map(&:name) },required: true,:autocomplete => :off, class: "form-control form-newjob" %>
я попытался изменить Company.find_or_initialize_by
на Company.find_by
, но это не сработает, кто-нибудь может помочь мне в том, как я могу достичь этого
Вы пробовали find_by_name? найти его самостоятельно ищет id, а find_by_name должно работать – Miknash
@NickCatib 'find_by_name' и все' find_by_ * 'устарели. Используйте 'find_by (name: name)' – DickieBoy
Да, моя вина ... Решение DickieBoy намного лучше. Отправьте его как ответ :) – Miknash