投稿者がこの'.any'に電話すると、投稿のIDを受け取る方法を教えてください。Rails "any?"インスタンスメソッドのコールバック?
<% if @posts.any? {|p| p.title == my_title} %>
投稿者がこの'.any'に電話すると、投稿のIDを受け取る方法を教えてください。Rails "any?"インスタンスメソッドのコールバック?
<% if @posts.any? {|p| p.title == my_title} %>
を使用します。
<% if (post = @posts.detect {|p| p.title == my_title}) %>
Post ID: <%= post.id %>
<% end %>
いずれかがtrue
またはfalse
以外は何も返しません。
http://www.ruby-doc.org/core/classes/Enumerable.html#M001500
あなたが返されるために何かしたい場合は、おそらくこのようにそれを行う必要がありますselect
http://www.ruby-doc.org/core/classes/Enumerable.html#M001488
は、次のような何かを、条件が真であれば値を取得する。ただし、以下の方法だけあなたがそれらのすべてをしたい場合は、配列としてpost_idの設定、最後にマッチしたポストにpost_idの設定:
<% post_id = nil%>
<% if @posts.any? {|p| post_id = p.id if p.title == my_title; p.title == my_title} %>
+1、返します、それは本当 – corroded
はしませんでし作る最初のものを検出し忘れてしまいました前に、_detect_について知っておいてください! – David