我正在构建一个应用程序,其中用户具有任务且任务具有位置。 任务和位置使用formtastic_cocoon嵌套,这是带有jQuery扩展的formtastic gem。以滑轨形式获得关联值
location.address字段是一个自动填充文本字段,用于搜索数据库中已存在的地址。所以当用户选择地址时,表单中隐藏的location_id被填充。
我想要做的是,当用户去编辑任务,我希望它显示当前选择的地址,但我没有看到任何我可以检索该值。我可以获取location_id,就像在任务模型中一样,但我似乎无法获取关联的location.address。
模型是
class Task < ActiveRecord::Base attr_accessible :user_id, :date, :description, :location_id belongs_to :user has_one :location end class Location < ActiveRecord::Base attr_accessible :address, :city, :state, :zip has_many :tasks end
然后在我的形式,我有
<div class="nested-fields"> <%= link_to_remove_association "remove task", f %> <div class="searchAddress"> < input type="text" value="HERE IS WHERE I WANT TO SHOW THE ADDRESS" > </div> <%= f.hidden_field :location_id %> <%= f.inputs :date, description %> </div>
-----------编辑成包括所有formtastic代码----- ----------
form.html.erb <%= semantic_form_for @user, :html=>{:multipart=true} do |form| %> <%= form.inputs :username, :photo %> <%= form.semantic_fields_for :tasks do |builder | %> <%= render 'task_fields', :f => builder %> <% end %> <% end %>
-------端编辑-------------- 我试图outputing“F的不同方式',但没有看到y引用关联的位置,但如果我在表单外调试User.Task [0] .Location,我会得到正确的位置详细信息。我如何获得这个表单?
---------更新------------
接近这一点。原来我可以输出
<%= debug f.object %>
我得到了返回的任务对象。不幸的是,它不包含位置对象,只是location_id字段的值。
你正在`<%= form_for @task do | f | %>`,对吗? – LapinLove404 2011-02-15 17:12:50
类似,我在使用Formtastic的semantic_fields_for更像一个fields_for比form_for – pedalpete 2011-02-15 17:17:02