Проблемы Simple_form - PullRequest
       34

Проблемы Simple_form

0 голосов
/ 11 октября 2018

У меня проблема с ассоциациями simple_form.

Вот модели, "связанные"

class Contact < ApplicationRecord
  belongs_to :state
end

class State < ApplicationRecord
  CATEGORIES = [ "not-contacted", "on-going", "called"]
  has_many :contacts
  validates :category, inclusion: { in: CATEGORIES }
end

У меня также есть State начальное число с тремя состояниями выше.

Я создаю новую форму для контакта.

Контроллер:

def new
  @contact = Contact.new
  @states = State.all
end

def create
  @contact = Contact.new(contact_params)
  if @contact.save
    redirect_to contact_path(params[:id])
  else
    render :new
  end
end

Представление:

<%= simple_form_for(@contact) do |f| %>
  <%= f.input :last_name, label: 'Nom' %>
  <%= f.input :first_name, label: 'Prénom' %>
  <%= f.input :number, label: 'Téléphone' %>
  <%= f.input :email, label: 'Mail' %>
  <%= f.input :address, label: 'Adresse' %>
  <%= f.association :state, collection: State.order(:category), prompt: "Choisir un état" %>
  <%= f.input :grade, label: 'Note', collection:[1, 2, 3, 4, 5]  %>
  <%= f.submit 'Créer le contact', class:'btn-modifications' %>
<% end %>

Но у меня есть коллекция, не содержащая список "в процессе", "называется", "не-contacted ", но у меня есть список с этим:

State:0x00007fcb3afcfca8

Как я могу отобразить список, который я хочу?

1 Ответ

0 голосов
/ 13 октября 2018

Вам нужно изменить его на значение ниже

<%= f.association :state, collection: State.order(:category), label_method: :category, value_method: :id,prompt: "Choisir un état" %>
...