2013-11-28 34 views
1

Rails的問題現在,我請求從控制器側的用戶列表,使HTML代碼並添加它。AJAX中使用jQuery

我做出這樣的代碼,

$.ajax({ 

     type : "get", 
     contentType : "application/json; charset=utf-8", 
     url : "https://stackoverflow.com/users/search_users", 
     data : { 
      name : name 
     }, 
     dataType : "text", 
     success : function(result) { 
      if (result == "User not found") { 
       alert("User not found"); 
      } else { 
       //console.log(result); 
       var peopleData = jQuery.parseJSON(result); 
       var resultHTML = "<tr>"; 
       resultHTML += "<th></th><th style='display:none'>User ID</th>" + "<th>First Name</th><th>Last Name</th><th>Email Address</th>" + "<th style='display:none'>Time Zone</th>"; 
       resultHTML += "</tr>"; 
       $.each(peopleData, function(index, obj) { 

        resultHTML += "<tr>"; 
        resultHTML += "<td><input type='checkbox'></td>" + "<td style='display:none;'>" + obj.id + "</td>" + "<td>" + obj.firstname + "</td>" + "<td>" + obj.lastname + "</td>" + "<td>" + obj.email + "</td>" + "<td style='display:none;'>" + "Etc/GMT+9 (Japan)" + "</td>"; 
        //consider now 
        resultHTML += "</tr>"; 

       }); 

       $("#internal_table").html(resultHTML); 
      } 
     }, 
     error : function() { 
      window.alert("something wrong!"); 
     } 
    }); 

,它工作正常,但我的老闆要更改此代碼,使用 $ .load和Rails代碼。

我一派一些這樣的示例代碼,

$("#ad_ad_ad_ad_type_id").load('/ad_ad_types/ajax_types?adtype='+$("#ad_ad_adtype").val()); 

form_rows << [f.label(:screen_type, t('ad.ad_type')), f.select(:ad_ad_type_id, @ad_ad_types.map{|st|[st.description, st.id]}, {:selected => @ad_ad.ad_ad_type_id})] 

此示例代碼是,得到了下拉從控制器側框數據,

並使用form.select它會自動使<option>data</option>在視圖方面。

在我的情況下,是有可能把使用Rails代碼具體attrubites TR和TD標籤,就像我在第一個代碼做了什麼?

我的老闆要自動使用Rails代碼,而不是手工製作的標籤我做了什麼,使這個HTML代碼。

我認爲軌形成幫手只支持簡單的文本字段或選擇框或輸入之類的東西。他們也支持桌子嗎?把tr和td標籤?

什麼好的解決辦法?

回答

0

我不是形式幫助一個大風扇,但這裏是我會做,

<%= form_for(< your config here >) do |f|%> 
    <tr> 
     <td> 
      <%= f.label(:screen_type, t('ad.ad_type')) %> 
     </td> 
     <td> 
      <%= f.select(:ad_ad_type_id, @ad_ad_types.map{|st|[st.description, st.id]}, {:selected => @ad_ad.ad_ad_type_id}) %> 
     </td> 
    </tr> 
<% end %>