Simple_form问题

时间:2018-10-11 17:37:25

标签: activerecord ruby-on-rails-5 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 %>

查看:

State:0x00007fcb3afcfca8

但是我有一个不包含“进行中”,“被呼叫”,“未联系”列表的集合,但是我有一个列表:

  tblYouTube.Filter := '[Name of YouTuber] = ' + QuotedStr(sName);

如何显示我想要的列表?

1 个答案:

答案 0 :(得分:0)

您需要将其更改为以下

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