1. ホーム
  2. ruby-on-rails

[解決済み] ハムル テキスト周りの空白を制御する

2023-01-04 08:34:53

質問

Railsのテンプレートで、HAMLを使ってこのような効果のある最終的なHTMLを完成させたいと考えています。

I will first <a href="http://example.com">link somewhere</a>, then render this half of the sentence if a condition is met

近づいてきたテンプレート。

I will first
= link_to 'link somewhere', 'http://example.com'
- if @condition
  , then render this half of the sentence if a condition is met

しかし、これではリンクとカンマの間に空白ができてしまうことに注意してください。この空白を避ける実用的な方法はあるのでしょうか?タグの周りの空白を取り除く構文があることは知っていますが、この同じ構文を単なるテキストに適用することはできるのでしょうか?これを達成するために余分なマークアップを行うという解決策は本当に好きではありません。

どのように解決するのですか?

Hamlのヘルパーによって、より良い方法が導入されました。

を囲む

= surround '(', ')' do
  %a{:href => "food"} chicken

を生成する。
(<a href='food'>chicken</a>)

成功 :

click
= succeed '.' do
  %a{:href=>"thing"} here

を生成する。
click
<a href='thing'>here</a>.

:

= precede '*' do
  %span.small Not really

を生成する。
*<span class='small'>Not really</span>

元の質問に答えるために

I will first
= succeed ',' do
  = link_to 'link somewhere', 'http://example.com'
- if @condition
  then render this half of the sentence if a condition is met

を生成する。
I will first
<a href="http://example.com">link somewhere</a>,
then render this half of the sentence if a condition is met