2016-09-04 19 views
0

nameemailという属性を持つUserモデルがあります。 テーブル行のhtml id属性としてユーザーの名前を使用したいと思います。 id文字列を必要とし、文字列nameされ、私は以下の表記が正しいかどうかは未定だ:データモデル属性をhtml id属性として使用する方法

<tr id=<%= user.name %>> 

または私はインスタンスの代わりに1を使用して明示的に、HTMLのid属性の後に二重引用符を使用することを期待しています以下の溶液:私は補間がまったく理にかなっていることを確認していないながら

<tr id="<%= user.name %>"> 
<tr id="#{<%= user.name %>}"> 

私は、代わりにid="Dave"(引用内側引用)で、<tr id="<%= user.name %>">id="'Dave'"を生成することをかなり確信しています。 2番目の解決方法は、user.nameの代わりにuser.idを選択した場合に機能します。

+1

ユーザー 'name'sにユニークな検証を持っていますか?さもなければ、 'name'を' id'sとして使うことはできません(もちろん、同じIDを持つ複数のノードがあります)。 –

+0

レコードIDを使用する方がいいよ。はい、PostgreSQLのインデックスを '名前'列と一意制約に追加しました。 – Asarluhi

+0

あなたはidセレクタについて話し続けていますが、ここではCSSセレクタを使用していません。あなたはid属性を意味しましたか? – BoltClock

答えて

2
<tr id="<%= user.name %>"> 

は正しい構造です。既に提案されているようにレコードidを使用する方が良いですが、ちょっと、あなたのコードです。名前フィールドに、id属性で許可されていないスペースやその他の文字が含まれていないことを確認する必要があります。私のRailsアプリで

、私は彼らがどのページにも絶対に一意であることを保証するために、次のようにすべての私のid属性接頭辞:

<tr id="user_<%= user.id %>"> 
関連する問題