我正在构建一个用户有任务并且任务有位置的应用程序。任务和位置位于使用 formtastic_cocoon 的 nested_form 中,这是带有 jQuery 扩展的 formtastic gem。
location.address 字段是一个自动完成文本字段,用于搜索数据库中已存在的地址。因此,当用户选择地址时,表单中的隐藏 location_id 会被填充。
我想要做的是,当用户去编辑任务时,我希望它显示当前选择的地址,但我看不到任何可以检索该值的地方。我可以获取 location_id,就像在任务模型中一样,但我似乎无法获取关联的 location.address。
模型是
类任务 < ActiveRecord::Base attr_accessible :user_id, :date, :description, :location_id 属于_to:用户 has_one :位置 结尾 类位置 < ActiveRecord::Base attr_accessible :address, :city, :state, :zip has_many:任务 结尾
然后以我的形式,我有
<div class="nested-fields"> <%= link_to_remove_association "删除任务", f %> <div class="搜索地址"> < input type="text" value="这里是我想显示地址的地方" > </div> <%= f.hidden_field :location_id %> <%= f.inputs : 日期,描述 %> </div>
----------- 已编辑以包含所有格式代码 ---------------
form.html.erb <%= semantic_form_for @user, :html=>{:multipart=true} 做 |form| %> <%= form.inputs :username, :photo %> <%= form.semantic_fields_for :tasks do |builder | %> <%= render 'task_fields', :f => builder %> <% 结束 %> <% 结束 %>
-------- 结束编辑 -------------- 我尝试输出不同方式的“f”,但没有看到对关联位置的任何引用,但如果我调试User.Task[0].Location 在表单之外,我得到了正确的位置详细信息。我如何在表格中得到它?
- - - - - 更新 - - - - - -
越来越接近这一点。原来我可以输出
<%= 调试 f.object %>
我得到了返回的任务对象。不幸的是,它不包括位置对象,只包括 location_id 字段的值。