いくつかのレールチュートリアルを開始し、いくつかのビューコードブロックがレール内の - %>と%>の違い
<h1><%= @subject.name -%></h1>
のようなものであることに気付きました。
いくつかの良い構文リファレンスが分かっていれば、それは役に立ちます。
いくつかのレールチュートリアルを開始し、いくつかのビューコードブロックがレール内の - %>と%>の違い
<h1><%= @subject.name -%></h1>
のようなものであることに気付きました。
いくつかの良い構文リファレンスが分かっていれば、それは役に立ちます。
追加のダッシュは、ERBが終了タグの後に改行を出力しないようにします。そこにあなたの例では差はませんが、あなたはこのような何かを持っている場合:
<div>
Hi
</div>
をしていないこの:
<div>
<% if true -%>
Hi
<% end -%>
</div>
それは生産ます
<div>
Hi
</div>
ありがとうございました!私は最初に、特殊文字を許可する検索エンジンを見つけ、次に% - >を検索してこれを見つけました。これが最初に表示されたページです。私はhttp://www.symbolhound.com/を使用しました(そして、私はおそらくこれをかなり頻繁に使用するつもりです。なぜなら、Googleで特別なシンボルを検索することは不可能だからです)。 –
ERBをスタンドアロンのルビスクリプトで使用して、 'trim_mode'を' ERB.new'に渡すことを確認してください。 'ERB.new( 'myfile.erb'、nil、 ' - ')' '-'が' trim_mode'の場合、それ以外はダッシュを受け付けません –
これは ' erb'コマンドラインツール。 @Koenとして。設定された設定トリムモードで問題が解決され、コマンドには設定するオプション( 'erb -T '-'')があります。 – erran
あなたはかなりHAMLを使用している場合ERBよりも、あなたのタグの後ろにあるシンボルよりも小さくても大きいシンボルでも同様のことができます。
>
は、タグの周囲の空白を削除し、<
は空白を削除します。
<div class="float-left"><p>
Lorem ipsum dolor sit amet
</p></div>
そして...
%left_tag
%inside>
%right_tag
がにコンパイルされています:あなたはHAMLを使用していない場合、それは間違いなくチェックアウトする価値がある
<left_tag /><inside /><right_tag />
.float-left<
%p
Lorem ipsum dolor sit amet
がにコンパイルされます。
%>
が不要になる前に-
と私はかなり確信しています。
少なくともChromeでは、生成されたhtmlは-%>
または%>
を使用して同じように見えます。
純粋なRuby 2.1でもRails 4.1でも再現できません。私は '-'や' trim_mode' '<>'(デフォルトでは設定されていないようです)の改行を削除することはできません。 –
更新:この回答は間違っていました。https://stackoverflow.com/a/25626629/895245を参照してください。
In Ruby 2。1(必ずしもレールと)、-
は、一つに改行削除:
>
例を使用するように'-'
オプションを渡す必要があります。
require 'erb'
ERB.new("<%= 'a' %>\nb").result == "a\nb" or raise
begin ERB.new("<%= 'a' -%>\nb").result; rescue SyntaxError ; else raise; end
ERB.new("<%= 'a' %>\nb" , nil, '-').result == "a\nb" or raise
ERB.new("<%= 'a' -%>\nb" , nil, '-').result == 'ab' or raise
ERB.new("<%= 'a' -%> \nb" , nil, '-').result == "a \nb" or raise
ERB.new("<%= 'a' -%>\n b" , nil, '-').result == 'a b' or raise
ERB.new("<%= 'a' -%>\n\nb", nil, '-').result == "a\nb" or raise
ドク:http://ruby-doc.org/stdlib-2.1.1/libdoc/erb/rdoc/ERB.html
のRails 4.1のドキュメントこのhttp://api.rubyonrails.org/classes/ActionView/Base.htmlでは、と表示された:で、デフォルトで
は、デフォルトで-
を設定します。https://github.com/rails/rails/blob/fcbdac7e82725c388bf5adf56a9a9a16d4efdbe0/actionview/lib/action_view/template/handlers/erb.rb#L77
しかし、Rails 4.1では、純粋なERBではサポートされていないので、末尾の空白は文書化されているとおりに削除されるため、その他の違いがある可能性があります。
また、改訂された改行は文書化されているとおりに削除されているわけではありません。次のURLで問題を公開しました。https://github.com/rails/rails/issues/16766
ERBとErubisの間のトリムレベルの違いを明らかにしてください:https://gist.github.com/mikecmpbll/72a32f79dc3821e9d2a8 –
正解を指し示す間違った答えをアップアップ: - / – Casper
この1つは、参照される前に尋ねられました。私の司会者は彼らが何をしているのかを知っていますが。 – Brettski