Ruby on Rails 3.2.2を使用していますが、次の方法がmyクラス属性のセッターメソッドをオーバーライドする「適切な」/「正しい」/「確実な」方法であるかどうかを知りたいです。 attr_accessible :attribute_name def attribute_name=(value) ... # Some custom operation. self[:attribute_name] = value end 上記のコードは期待どおりに動作するようです。しかし、上記のコードを使用することで、将来的に問題が発生するかどうか、少なくとも、Ruby on Railsで「予想されるはずの問題」/「発生する可能性のある問題」について知りたいと思います。それがセッターメソッドをオーバーライドする正しい方法でない場合、正しい方法は何ですか? 注:コードを使用する場合 attr_accessible :attribute_name def attribute_name=(value) ... # Some custom operation. self.attribute_name = value end 次のエラーが発生します。 SystemStackError (stack level too deep): actionpack (3.2.2) lib/action_dispatch/middleware/reloader.rb:70
次の出力が必要です:- トップアップアカウントから27.59ユーロの50%を差し引こうとしています。 私がこのようなことをするとき: $variablesArray[0] = '€'; $variablesArray[1] = 27.59; $stringWithVariables = 'About to deduct 50% of %s %s from your Top-Up account.'; echo vsprintf($stringWithVariables, $variablesArray); しかし、それは私に、このエラーが発生しますvsprintf() [function.vsprintf]: Too few arguments in ...、それは考慮するため%での50%交換のためにも。どうすれば脱出できますか?
私はそれが最も重要な問題ではないことを知っていますが、アノテーションの前後にjavadocコメントブロックを配置できることに気づきました。コーディング標準として何を採用したいですか? /** * This is a javadoc comment before the annotation */ @Component public class MyClass { @Autowired /** * This is a javadoc comment after the annotation */ private MyOtherClass other; }
私はMac体験全体に不慣れです。最近MySQLをインストールしましたが、インストール後にパスワードをリセットする必要があるようです。それ以外には何もできません。 今、私はすでに通常の方法でパスワードをリセットしています: update user set password = password('XXX') where user = root; (ところで、MySQLが奇妙な理由でフィールドの名前を 'password'から 'authentication_string'に変更したことを理解するのに何年もかかりました。そのような変更についてはかなり腹を立てています。) 残念ながら、私には知らない方法でパスワードを変更する必要があるようです。たぶんここの誰かがすでにその問題に遭遇したのでしょうか?