2

以下は、ブートストラップのモーダルのコードの一部です。何が起こっているのかを完全に把握しようとしていますrole-options-<%= user.id %>が、href= タグと div id タグの両方で問題が発生しています。ここで何が起こっているのかわかりません。なんらかの方法でデータを渡しているように感じます。また、これを正しく検索する方法もわかりません。したがって、誰かが私または彼らが指し示すことができる場所についての洞察を持っている場合、それはこの1行を説明するでしょう.

divに直接リンクしてuser.idを渡していますか?

<a data-toggle="modal" href="#role-options-<%= user.id %>" class="btn btn-mini" type="button">Change role</a>
    <%= render user %>


<div id="role-options-<%= user.id %>" class="modal" style="display: none;">
<%= simple_form_for user, :url => user_path(user), :html => {:method => :put, :class => 'form-horizontal' } do |f| %>
<div class="modal-header">
  <a class="close" data-dismiss="modal">&#215;</a>
  <h3>Change Role</h3>
</div>
<div class="modal-body">
  <%= f.input :role_ids, :collection => Role.all, :as => :radio_buttons, :label_method => lambda {|t| t.name.titleize}, :label => false, :item_wrapper_class => 'inline', checked: user.role_ids.first %>
</div>
<div class="modal-footer">
  <%= f.submit "Change Role", :class => "btn" %>
  <a class="btn" data-dismiss="modal" href="#">Close</a>
</div>
<% end %>
</div>
4

1 に答える 1

1

ERB マークアップでタグが表示される場所<%= ... %>では、タグ内の Ruby コードが実行され、結果がテンプレート内のテキストとして出力されます (技術的には、Ruby コードからの結果の値には、#to_sそれを弦)。

したがって、このスニペットでは:

<div id="role-options-<%= user.id %>" 

ERB テンプレートは、値が「role-options-」で<div>ある属性を持つ要素を生成しています。ここで、Ruby コードが返すものは何でもあります。iduser.id.to_s

そして、このスニペットは似ています:属性が形式の link ( <a>) 要素を作成します。唯一の違いは、リンクが で始まることです。つまり、リンクはページ アンカーになります。つまり、同じページの別のセクション、つまり前述の にリンクします。href#role-options-<user ID>#<div>

于 2013-04-07T07:43:46.783 に答える