1

ユーザーにタスクがあり、タスクに場所があるアプリを構築しています。タスクと場所は、jQuery 拡張機能を持つ formtastic gem である formtastic_cocoon を使用して、nested_form 内にあります。

location.address フィールドは、データベースに既に存在する住所を検索するオートコンプリート テキスト フィールドです。そのため、ユーザーが住所を選択すると、フォーム内の非表示の location_id が入力されます。

私がやろうとしているのは、ユーザーがタスクを編集しようとすると、現在選択されているアドレスを表示したいのですが、その値を取得できる場所がどこにもありません。タスク モデルにあるように、location_id を取得できますが、関連する location.address を取得できないようです。

モデルは

class Task < ActiveRecord::Base
     attr_accessible :user_id、:date、:description、:location_id

     所属先:ユーザー
     has_one :場所
終わり

クラス Location < ActiveRecord::Base
     attr_accessible :address、:city、:state、:zip

     has_many :タスク
終わり

それから私の形で、私は持っています

  <div class="nested-fields">
     <%= link_to_remove_association "タスクの削除", f %>
      <div class="searchAddress">
         < input type="text" value="住所を表示したい場所はここです" >
     </div>
   <%= f.hidden_​​field :location_id %>
   <%= f.inputs :date, description %>
</div>

-----------すべてのformtasticコードを含めるように編集 ---------------

form.html.erb
<%= Semantic_form_for @user, :html=>{:multipart=true} do |フォーム| %>

    <%= form.inputs :ユーザー名, :写真 %>


      <%= form.semantic_fields_for :tasks do |ビルダー | %>

   <%= render 'task_fields', :f => ビルダー %>
  <%終了%>
<%終了%>

------- 編集終了 -------------- 「f」の別の方法を出力しようとしましたが、関連する場所への参照が表示されませんが、デバッグするとUser.Task[0].Location フォームの外側に、正しい場所の詳細が表示されます。フォーム内でそれを取得するにはどうすればよいですか??

- - - - - アップデート - - - - - -

これに少し近づいています。出力できることがわかりました

<%= デバッグ f.object %>

タスク オブジェクトが返されます。残念ながら、これには location オブジェクトは含まれず、location_id フィールドの値のみが含まれます。

4

2 に答える 2

0

@task.location.address を試しましたか?

于 2011-02-15T17:20:09.093 に答える