Я создаю приложение, в котором у пользователя есть задачи, а задача имеет местоположение. Задачи и местоположения находятся в вложенной_форме с использованием formtastic_cocoon, который является жемчужиной formtastic с расширением jQuery.
Поле 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>
----------- отредактировано, чтобы включить весь форматный код ---------------
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 %>
------- конец редактирования -------------- Я пробовал выводить "f" по-разному, но не вижу никаких ссылок на связанные местоположения, но если я отлаживаю User.Task[0].Location вне формы, я получаю правильные данные о местоположении. Как я могу получить это внутри формы??
--------- Обновить ------------
становится немного ближе к этому. Оказывается, я могу вывести
<%= debug f.object %>
Я возвращаю объект задачи. К сожалению, он не включает объект местоположения, а только значение поля location_id.
<%= form_for @task do |f| %>
, верно? - person LapinLove404   schedule 15.02.2011