получить значения ассоциаций в рельсах - PullRequest
1 голос
/ 15 февраля 2011

Я создаю приложение, в котором у пользователя есть задачи, а у задачи - местоположение.Задачи и местоположения находятся в nested_form с использованием 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]. Расположение за пределами формы, я получаю правильные данные местоположения.Как мне получить это внутри формы ??

--------- update ------------

немного ближе к этому,Оказывается, я могу вывести

<%= debug f.object %>

Я получаю возвращенный объект задачи.К сожалению, он не включает объект location, только значение поля location_id.

1 Ответ

0 голосов
/ 15 февраля 2011

Вы пробовали @ task.location.address?

...