1

Rails アプリで omniauth と koala を使用して、ログインしているユーザーの友達 (および uid) のリストを取得しています。ユーザーが友人の名前の入力を開始し、オートコンプリートが機能して、ユーザーが友人を選択すると、フォームがその友人の uid をフォームの非表示フィールドに入れるようにしたいと考えています。簡単ではないにしても、可能であるべきもののように思えます。

もう 1 つの問題は、私が haml を使用しているため、同じドキュメントに haml、javascript、および ruby​​ を記述することに完全に慣れていないことです。

ここにHAMLがあります

=form_for @nag do |f|
  =f.hidden_field :user_id, value: current_user.id
  =f.text_field :lendee_name, id: 'who', placeholder: 'Who owes you?'
  %div#friend-list
  =f.text_field :item, id: 'what', placeholder: 'What do they owe you?'
  =f.text_field :due_date, id: 'when', placeholder: 'When is it due?'
  =f.text_field :lendee_uid, id: 'lendee_uid', placeholder: 'Lendee uid?'

:javascript
  var allFriends = #{@friends};

そしてここにJavascriptがあります

  $(function() {
    $("#who").autocomplete({
      source: allFriends,
      appendTo: $("#friend-list"),
      focus: function( event, ui ) {
        $( "#who" ).val( ui.item.value );
        return false;
      },
      position: { of: "#friend-list", at: "left top" }
    }).keyup(function (e) { // Dismiss the typeahead dropdown when hitting enter
          if(e.which === 13) {
              $(".ui-menu-item").hide();
          }
      });;
  });
4

0 に答える 0