は常にtrueを返すと、消去、アレイ全体ブロックは常に
<% users.delete_if do |user| %>
<% false %>
<% end %>
を一方
<%
users.delete_if do |user|
false
end
%>
作品を、配列を削除しないだろうtrueを返します。
私は何とか私のビューでdelete_ifステートメントを使用し、まだhtmlを挿入することができますか?
おかげ
は常にtrueを返すと、消去、アレイ全体ブロックは常に
<% users.delete_if do |user| %>
<% false %>
<% end %>
を一方
<%
users.delete_if do |user|
false
end
%>
作品を、配列を削除しないだろうtrueを返します。
私は何とか私のビューでdelete_ifステートメントを使用し、まだhtmlを挿入することができますか?
おかげ
あなたはあなたの意見に全くデータを変更すべきではない - 代わりにあなたのコントローラやモデルでこれを行います。データベースの現在の状態を反映し、変更するのではなく、ビューを使用します。
これらの場所のいずれかでコードの2番目のバージョンを使用すると、この問題は解消されます。
私はあなたが最初のフォームで "yield"を使うとテストしなければならないと思います。
<% users.delete_if do |user| %>
<% yield false %>
<% end %>
しかし、最初のポスターによれば、ビューからデータを変更しないでください。副作用インビューアスペクトを無視
は、ここでなぜブロック「戻り」の値である:生成された印刷ステートメントがあるERBテンプレートの一部としての「%>
」との間のコードを生成し"<% end
"この生成されたコードによって残された値は、ブロック内の最終的なステートメント/式、したがってその値として使用されます。