0

私は Rails アプリで作業しており、メタサーチを使用した検索機能の作業を開始しましたが、検索の正しい方法を取得するのに問題があります。

たとえば、フィールド コストを持つモデル (提案) があります。

..model/proposal.rb

class Proposal < ActiveRecord::Base
belongs_to :user
has_many :users, :through => :invitations
attr_accessible :cost, :user_id

このコードがメタ検索で正常に機能する

..views/homes/live_requests.html.erb

<%= form_for @search, :url => "/live_requests", :html => {:method => :get} do |
<%= f.label :cost_greater_than %>
<%= f.text_field :cost_greater_than %><br />
<!-- etc... -->
<%= f.submit %>

しかし、より複雑な関連付けでは、メタ検索パスを正しく取得することができません。

私は検索しようとしています:

Proposal.last.user.suburb.name #Returns the name of the suburb as expected

多くの関連付けを試しましたが、適切な関連付けが見つかりません。

Proposal には user にマップされる user_id フィールドがあるため、Proposal.user は User User を返し、次に郊外を返す suburb_id を持ちます Suburb には文字列を返す name というフィールドがあります

これをメタサーチ形式にするにはどうすればよいですか?

<%= f.text_field :user_user_suburb_name %>
or
<%= f.text_field :user_id_suburb_id_name %>

確固たる結論には至りません。

事前にご協力いただきありがとうございます。

4

1 に答える 1

0

モデルによって宣言された正しい名前に従っているだけです。

すなわち。上記のモデルでは、ユーザーなどではなく、ユーザーであることを確認してください。

于 2013-02-03T00:15:09.343 に答える