0

これは私のコードで、ヘルパー クラスに読み込まれます

output += '<button class="del_account" param-del="{account.id}">delete</button>'

これを html にレンダリングすると、account.id が文字列に変換されます。そして、私が必要とする「id」ではありません。どうすればこれを解決できますか? これもうまくいかないからです。

output += '<button class="del_account" param-del="#{account.id}">delete</button>'

またはこれ

output += '<button class="del_account" param-del="' +account.id +'">delete</button>'

ご協力いただきありがとうございます。

4

2 に答える 2

3

"と記号の両方を使用する必要がある場合は'、それらを処理する簡単な方法を次に示します。

output += %[<button class="del_account" param-del="#{account.id}">delete</button>]

このようにして、エスケープを心配することなく、前述のシンボルを安全に配置できます。

于 2012-04-20T12:08:08.253 に答える
1

Rails ヘルパー メソッドcontent_tag( documentation ) を使用すると、物事が少しすっきりして読みやすくなります。

output += content_tag(:button, "delete", :class => "del_account", :'param-del' => account.id)

また、技術的に「param-del」は HTML を無効にします。カスタム属性は「data-」で始まる必要があるため、上記の更新は次のようになります。

output += content_tag(:button, "delete", :class => "del_account", :'data-account-id' => account.id)
于 2012-04-20T12:11:49.470 に答える