2017-08-23 2 views
0

現地の経験の下に関連する経験を表示したいと思います。私は@experiences= Experience.excludes(house.experiences)を使ってやろうとしましたが、うまくいきませんでした。それをどうやって行うのか提案することはできますか?関連項目を表示するには

<h3>Local experiences</h3> 

<section class="list-box"> 
    <% @house.experiences.each do |experience| %> 

    <p> 
    <%= experience.name %> 
    <% if logged_in? && current_user.role == "customer" %> 
    <%= link_to "Make Enquiry", new_message_path(receiver_id: experience.supplier.user) %> 
    <% else %> 
    <%= link_to "Make Enquiry", new_customer_path %> 
    <% end %> 
    </p> 
    <% end %> 
</section> 

<h3>Related experiences</h3> 

<section class="list-box"> 
    <% @experiences.each do |experience| %> 

    <p> 
    <%= experience.name %> 
    <% if logged_in? && current_user.role == "customer" %> 
    <%= link_to "Make Enquiry", new_message_path(receiver_id: experience.supplier.user) %> 
    <% else %> 
    <%= link_to "Make Enquiry", new_customer_path %> 
    <% end %> 
    </p> 
    <% end %> 
</section> 
+0

* *は何ですか?そして、あなたが* didntが何を意味するのか* – Pavan

+0

ただし、エラーは何ですか? – Roshan

+0

は除外していますが、その方法は逆です。あなたは各家屋の経験を除外したいと思っていますか?私は家と経験がDB(has_manyかhas_one)にどのように関連しているか知りたいですか? – VKatz

答えて

0

レールモデルにexcludesというメソッドはありません。 Stringのインスタンスメソッドであるexclude?のみが存在します。 hereを参照してください。

問題の場合は、house_idがあなたの経験表のforeign_keyであるとしたら、以下のようなものが動作する可能性があります。

@experiences = Experience.where.not(house_id: house.experiences) 

あなたはより多くのnot条件のためhereを参照することができます。

関連する問題