【发布时间】:2014-04-27 20:35:13
【问题描述】:
我在工作和公司之间建立了一对多的关联,并且我已经实现了这个 railscast enter link description here 中提到的自动完成功能
这是我的工作模式
class Job < ActiveRecord::Base
belongs_to :company
extend FriendlyId
friendly_id :job_title, use: :slugged
def company_name
company.try(:name)
end
def company_name=(name)
self.company = Company.find_or_create_by_name(name) if name.present?
end
end
这是我的公司模式
class Company < ActiveRecord::Base
has_many :jobs
extend FriendlyId
friendly_id :name, use: :slugged
end
这是我的 jobs.js.coffe 文件
jQuery ->
$('#job_company_name').autocomplete
source: $('#job_company_name').data('autocomplete-source')
这是我的工作表单视图
<div class="form-group">
<%= f.label :company_name %><br />
<%= f.text_field :company_name, data: {autocomplete_source: Company.order(:name).map(&:name)} %>
</div>
<div class="form-group">
<%= f.label :job_title, "Intitulé du poste", class: "jobs-newtitles" %><br>
<%= f.text_field :job_title, class: "form-control form-newjob" %>
</div>
这是我的工作展示视图
<div class="job-title-show">
<h3><%= @job.job_title %></h3>
<div class="time_ago">
Publiée <%= distance_of_time_in_words_to_now(@job.created_at) %>
<p>
<strong>company:</strong>
<%= @job.company_name %>
</p>
</div>
当我创建一个工作并从自动完成列表中选择一个公司时,或者当我放置一个新公司并进入工作显示页面时,该工作不会受到选择或创建的公司的影响,为什么?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 autocomplete associations