0

そのため、このファイルに追加するユーザー名、パスワード、および役割をユーザーから取得した後、書き込もうとしているファイルがあります。すべてが正常に機能しているように見えますが、書き込み用にファイルを開いてputsコマンドを入力すると、パスワードセクションの後に新しい行が作成されます。これがコードの抜粋です。

File.open("user.file", "a") do |file|
  file.puts "#{userName}=#{passwordEncoded},#{role},enabled"

そして、これが私が後でファイル自体に入れるものです

danny=ieSV55Qc+eQOaYDRSha/AjzNTJE=
,ROLE,enabled

エンコードされたパスワードの最後にある=と関係があるかもしれませんが、よくわかりません。パスワードは常に同じサイズで終わるので、問題が発生する可能性がありますか?しかし、ここではわかりません。

4

2 に答える 2

4

変数passwordEncodedは改行で終わります。変数の実際の内容は次のようになります

"ieSV55Qc+eQOaYDRSha/AjzNTJE=\n"

コードに問題はありません。期待どおりに動作しています。

于 2012-08-20T03:54:09.983 に答える
2

chomp変数への呼び出しを追加passwordEncodedして、改行を削除します。

File.open("user.file", "a") do |file|
  file.puts "#{userName}=#{passwordEncoded.chomp},#{role},enabled"
于 2012-08-20T05:00:24.550 に答える