2017-03-15 8 views
0

HTMLに埋め込みRubyを使用していて、新しい変数を作成しようとしています。しかし、これは、新しい変数を作成して変更しようとしているにもかかわらず、コードのHTML書式を変更しているようです。私がnewfoodを操作したときのように、私は「食べ物」に保存されている値を変更しています(ほとんどの場合、参照渡し)。どのようにすれば価値あるものにすることができますか?HTML組み込みRubyで変数を操作する

<% newfood = food%> 

<% newfood.gsub!('a','b')%> 

答えて

1

これには、クローン機能またはdup機能を使用できます。

あなたの食べ物が弦であるあなたのケースでは、どちらも機能します。

一般に

、クローンとDUPは子孫クラスで異なる意味を持っていることがあります。

newfood = food.dup 
newfood = food.clone 

機能が少し異なる動作し、これはルビー-docのが言うことです。クローンは、内部状態を含むオブジェクトの複製に使用されますが、通常、dupは子孫オブジェクトのクラスを使用して新しいインスタンスを作成します。 http://ruby-doc.org/core-2.4.0/Object.html#method-i-dup-label-on+dup+vs+clone

関連する問題