2015-10-18 54 views
0

我正在研究郵件系統,幾乎所有工作都已完成,除了此部分。如何在郵件系統中以用戶類型的身份運行搜索

這是我有以下形式:

<%= form_for :message, url: messages_path(7) do |f| %> 
    <%= f.text_area :message, class: 'form-control', placeholder: 'Write a message...' %> 
    <div class="clearfix"><%= f.submit 'Send', class: 'btn btn-primary pull-right' %></div> 
<% end %> 

正如你可以看到,這種形式將消息發送給用戶,其用戶ID 7.因此,創建消息也工作,但一些如何我應該是搜索數據庫中的用戶作爲用戶類型,在用戶選擇後,我應該用用戶選擇的ID動態更改值。 messages_path(7)這是Facebook或Gmail的作用。我想沒有其他辦法了。我不知道如何做到這一點。

正如我所說的,一切都完成了,我只需要通過用戶名稱作爲發件人類型收件人名稱和用戶選擇的收件人運行搜索,我需要動態地替換id。

謝謝。

回答

0

我想你可以使用AJAX從數據庫中獲取用戶。 比你能easliy修改你發佈到客戶端上的

我寫的東西,可能讓你在正確的軌道:)

function getUsers() { 
    $.getJSON('localhost/{your-file-to-user-query}',{ 
    headers: { 
     'Accept': '*/*', 
     'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' 
     }, 
    tagmode: "any", 
    format: "json", 
    async: false 
    }).success(function(data) { 
     var id, name, html; 
     data = JSON.parse(data); 
     if(data !== "") 
     { 
      //Parse all user data and put them in a list 
      for(var i = 0; i < data.length; i++){ 
       id = data[i].id; 
       name = data[i].name; 
       html += '<div onclick = "selectUser(' + id + ')" class = "user-block">'+ 
         '<p>' + name + '</p>'+ 
         '</div>'; 
      } 
     $('{Some_container_to_put_this_list_in}').html(html); 

     } 
    }).error(function(data) { 
     console.log(data); 
    }); 
} 

function selectUser (id) { 
    //Don't know alot about RoR but you need to add an id to your form so you can select it easily 
    //And than you replace the current id with the id that came from the list item you clicked on 
    $('form').attr('url',messages_path(id)) 
} 
上的ID
相關問題