Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Do you mean the Django admin stuff?


No, I mean things like this:

http://docs.djangoproject.com/en/1.1/ref/generic-views/#date...

The powerful thing about generic views -- as far as I'm concerned -- is that they're encapsulated generic logic. Things like "show an individual object" or "show objects published in December 2009" or whatever, which crop up over and over in real-world use, and which are best written once and reused over and over again.


I hope I showed that those sorts of things are quite possible using the same basic techniques that I showed for the redirection and rendering generic actions. Thanks for the feedback :)


Well, it may just be that I don't know enough about Rails, but how do you do that sort of thing? For example, what's the equivalent data structure to a QuerySet that you'd pass around as an argument?


There are two ways I can think of to achieve a similar effect. Let's use this example from the Django docs:

    info_dict = {
      'queryset': Poll.objects.all(),
    }
    (r'^(?P<object_id>\d+)/$', 'django.views.generic.list_detail.object_detail', info_dict),
One (pretty simple) solution would be to use a block to pull out the object in question:

    match "/:id" => object_detail {|params| Poll.find(params[:id]) }
Rails 3, with its ActiveRelation integration, could also support a syntax similar to the QuerySet syntax:

    match "/:id" => object_detail(Poll.all)
where Rails would internally take the Relation from Poll.all and do @relation.where(:id => params[:id]). To be honest, while the newly available syntax is nice, lightweight block syntax is pretty nice as well.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: