答えて
"Ponies all love #{h params[:chat_input]}!"
のように、二重引用符で囲んだ文字列の中にある可能性が最も高いです。#{stuff}
式は、stuff式を解釈して文字列に挿入します。たとえば、"1 + 2 = #{1 + 2}"
の場合、文字列は"1 + 2 = 3"
になります。
h
は、html_escape
メソッドのエイリアスですが、これはわかりやすいものです。
文字列内の値を補間するだけです。 :chat_inputはシンボルであり、シンボルは一度しか作成されないため、文字列の代わりに使用されます。
貼り付けるコードは単なるコメントです。私は、コードが文字列の中にあると仮定します。
"hello, #{5 + 5}"
# => hello, 10
括弧内のステートメントは、Rubyとして評価されます。これは文字列補間と呼ばれます。
コード内の補間内のステートメントは、引数を取得するメソッドです。
h params[:chat_input]
h(params[:chat_input])
h
方法はHTMLをエスケープhtml_escape
のショートカットです。たとえば、<span>
は<span>
に変換されるため、ブラウザはHTMLとして解釈するのではなく、文字列の実際の内容を表示します。
html_escape(params[:chat_input])
おそらくparams
がわかります。
要約すると、params [:chat_input]に含まれるHTMLエスケープされたバージョンが表示されます。
h(something)
または
h something
ルビーは、()の使用を強制しないため、内部の可能なHTMLコードを解釈避け「安全なHTML」の文字列にパラメータを変換し、レールで利用できる機能です「何か」変数のルビーで
"#{x}"
文字列にXの変数を変換し、例えば新しい文字列に置くことを意味する:
"#{host}:#{port}"
が形成された新しい文字列にホストの値とポートの値を配置しますホストが "localhost"でポートが30の場合、結果の文字列は "localhost:30"になります。
paramsは、コントローラに渡されるpost/getパラメータを含む特別なレールハッシュですメソッド実行中
別の詳細は、Rubyでメソッドがいつもの方法
def test
"#{h params[:chat_input]}"
end
はポスト/取得パラメータchat_input
のHTMLセーフ値を持つ文字列を返します最後に評価表現を返すということです
"#{時間のparams [:chat_input]}" Rubyで
式が評価され、自動的に文字列に変換するために、二重引用符で囲まれた文字列を可能にします。
years = 25
"John is " + years + " years old"
を私は文字列に番号を追加することはできませんので、私はエラーを取得します:
私はこれを行うことができます。
私はそれを回避するために
"John is #{years} years old"
を行うことができます。
h()メソッドは、HTMLタグを削除するRailsヘルパー関数です。それは安全なものです。
最後に、params()はGETとPOSTパラメータへのアクセスを提供するRailsのメソッドです。実際にはハッシュをラップしています。GETパラメータとPOSTパラメータは、メモリを減らすためにシンボル化されています(記号は一度しか定義されませんが、 "foo"などの文字列は毎回新しいオブジェクトです)。
params [:chat_input]以前のリクエストのGETまたはPOSTパラメータから取得します。あなたのケースでは、表示と消毒のように見えます。
希望に役立ちます!
- 1. このコードを解釈する助けが必要
- 2. このコードの理解を助ける
- 3. このコードで私が漏れるの理解を助ける:
- 4. 助けが必要このPHPコードを理解する
- 5. このLuaコードの理解を助けてください
- 6. 私はこのPHPコードを理解するのを助けます
- 7. このMySQLコードを理解するのに助けが必要です
- 8. javascript confettiのコードを解読するのに助けが必要
- 9. このCコード(アレイ)を理解する助けが必要です
- 10. このコードを本から理解する助けが必要です
- 11. Rubyコードを解釈する
- 12. コードを理解するのに助けが必要です
- 13. コードの小さなビットを説明する助けが必要です
- 14. 加速度計のコードを理解する助けが必要
- 15. Javaのコードを理解する助けが必要
- 16. Javaコードを理解するための助けが必要
- 17. 私は文字列をCで解釈するのに助けが必要
- 18. これを解釈するのに助けが必要です。私はC#の初心者です
- 19. このビットのコードでTOleStreamを解放する方法
- 20. この正規表現のコンポーネントを理解する助けを
- 21. このSQLクエリを理解するのに助けが必要
- 22. テトリスのこの実装を理解する助けが必要
- 23. SIMDレジスタの64ビットから32ビット整数を解釈する問題
- 24. 誰でもこのコードを理解するのを助けることができます - iOS swift
- 25. ASCIIコードの解釈(アセンブリ)
- 26. 1行の解釈Javascriptコード
- 27. 短いPythonコードを理解する助けが必要
- 28. この正規表現を理解する助けが必要
- 29. このObjective-Cコードスニペットを理解する助けが必要
- 30. WordPressのドロップダウンコードの理解を助ける
また、#{}はルビーで、レール固有ではありません –