Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何使用ajax用rails填充UL?_Jquery_Ruby On Rails_Ruby_Ajax_Ruby On Rails 3 - Fatal编程技术网

Jquery 如何使用ajax用rails填充UL?

Jquery 如何使用ajax用rails填充UL?,jquery,ruby-on-rails,ruby,ajax,ruby-on-rails-3,Jquery,Ruby On Rails,Ruby,Ajax,Ruby On Rails 3,我有一个UL,我希望通过对rails的ajax调用动态填充它 如何使用ajax动态填充由不同控制器提供的具有该信息的不同页面,即一个组的group.links集合 可能是 因此,我寻找一个点击,然后想填充列表,因此我有以下javascript: $(function(){ $("a[data-show-group-members]='true'").bind('click', function() { var gid= $(this).data("id"); var gnam

我有一个UL,我希望通过对rails的ajax调用动态填充它

如何使用ajax动态填充由不同控制器提供的具有该信息的不同页面,即一个组的group.links集合

可能是

因此,我寻找一个点击,然后想填充列表,因此我有以下javascript:

$(function(){
  $("a[data-show-group-members]='true'").bind('click', function() {
    var gid= $(this).data("id");
    var gname= $(this).data("name");
    var links=$.get('/groups/' + gid);
    $('<tr><td colspan="4">Members:</br><ul id="group-members"><li>1</li><li>2</li><li>3</li></ul>Delete the <b>'+gname+'</b> group and all its members: <b><a rel="nofollow" data-method="delete" data-confirm="Are you sure?" href=\'/groups/'+gid+'\'>Yes</a></b> <b><a href="groups" data-close-group="true">No</b></br></br>').insertAfter($(this).closest('tr'));
    $(this).html("");
  });
});
但如果这是正确的话就不会了

我有一个现有的route-groups/:id,它通过groups show方法填充@members,我在group show页面erb模板中使用@members来显示该组的成员。 目前,组显示方法是

  def show
    @group = Group.find(params[:id])
    @members = Link.find_all_by_group_id(params[:id], :order => 'position')
    respond_to do |format|
      format.html # show.html.erb
      format.xml  { render :xml => @group }
    end
  end
所以我可以使用format.xml或者我可以添加format.json,但是我如何称呼它,并最终得到一个具有组名的UL呢

小组成员为:

id: integer, group_name: string, 
created_at: datetime, updated_at: datetime, group_description: string
该页面使用:

<ul id="group-members"></ul>

作为接收此信息的地方。显然,我可以删除占位符li的

可以利用:

// Get the json from the controller
function GetListItems() {
    $.ajax({
        type: "POST",
        url: "/JsonService/GetItems",
        contentType: "application/json; charset=utf-8",
        data: "{}",
        dataType: "json",
        success: function (result) {
            DisplayListItems(result);
        },
        "error": function (result) {
            var response = result.responseText;
            alert('Error loading: ' + response);
        }
    });
}

// Create list items and append them inside <ul> element
function DisplayListItems(list) {
    $.each(list, function(index, element) {
        var itemHTML = ["<li>",
                                "<div>",
                                    "<div>",
                                        element.Title,
                                    "</div>",
                                    "<div>",
                                        element.Description,
                                    "</div>",                                    
                                "</div>",
                            "</li>"].join('\n');
        $(".list > ul").append(itemHTML);
    }
}

// Controller method that serves json data
public JsonResult GetItems()
{
    IQueryable<Item> itemList = new DAO().GetList();

    return Json(from e in itemList
                select new
                {
                    Title = e.Title,
                    Description = e.Description
                });
}
或许

format.json {render @members}
format.json
format.json {render @members}