我是 rails &的新手我知道这可能是一个非常简单的问题,但我不确定如何使用“简单形式”关联显示公司名称?
companies
,其中列name
& content
users
,其中列first name
,last name
& company_id:integer
company
has_many :users
user
belongs_to :company
我的观点中的一切都很完美,期望显示我公司的名称
在我的观点中:
<h2>Sign up Primary Admin</h2>
<%= simple_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<%= f.association :company, collection: Company.all.order(:name), prompt: "please select your company", label: 'Company' %>
<%= f.input :firstname, required: true, autofocus: true %>
<%= f.input :lastname, required: true, autofocus: true %>
<%= f.input :email, required: true, autofocus: true %>
<%= f.input :password, required: true, hint: ("#{@minimum_password_length} characters minimum" if @minimum_password_length) %>
<%= f.input :password_confirmation, required: true %>
</div>
<div class="form-actions">
<%= f.button :submit, "Sign up" %>
</div>
<% end %>
<%= render "users/shared/links" %>
答案 0 :(得分:1)
label_method =&gt;要应用于集合的标签方法 检索标签(使用此标签代替text中的text_method选项) collection_select)
您应该将label_method
定义为name
以显示公司名称。
<%= f.association :company, collection: Company.all.order(:name), prompt: "please select your company", label_method: :name, label: 'Company' %>
答案 1 :(得分:1)
SimpleForm对关联标签使用to_s
方法,因此您必须为to_s
模型定义自己的company
方法。
一世。 E:
class Company < ActiveRecord::Base
def to_s
name
end
end