crud redux
The CRUD debate continues, here and here .
semantic resources
Regarding his first point, I agree. I didn’t mean to suggest that the implemented representation wasn’t separate from the semantic content of a resource. Certainly the server doesn’t save exactly what the resource “is”. However I think it is too far to say that anything named by a URI is a resource. Semantic continuity can easily be broken. If a domain name changes hands and is repurposed, it is not the same resource anymore merely because it is still the same URI (to take an extreme example).
In CRUD, the server does not perform semantic transformations on the resource.
multiple models
“You just need a model that’s the appropriate projection of the multiple.”
Emphasis on “a”. It’s not multiple models anymore if you had to make a separate model to represent it. Also, you’ve added an avoidable layer of complexity, and CRUD is about keeping it simple.
command pattern
The command pattern has many uses, but it’s not for everything. Think what would happen if in Ruby the only methods allowed on objects were CRUD, and possibly “execute”. Furthermore, I don’t think that spinning out all possible parameter configurations into logical URIs really counts as CRUD, but I have a feeling I am going to be disagreed with. But do you want:
ReverseString.new(:string => "string")
ReverseString.execute
ReverseString.reador
"string".reverseAnd if image crop is not a good example, take protein similarity search instead—something that can’t possibly be offloaded to the client.
target domain
Again, I think that most of this debate is due to the limited target domain of a lot of Rails applications. In many consumer applications, CRUD is all you need. But that does not mean that CRUD is all you need anywhere.
if all_you_have.include? hammer and all_you_have.length == 1
everything.each { |thing| thing = Nail.new }
endAugust 20, 2007
2 comments
Why is that worrying? Rails doesn’t claim to be the best tool for every situation. For someone in web app development for the customer/productivity market, that statistic is actually very comforting.
If you feel that Rails doesn’t map to your specific problem either: A) use a different tool or B) start modifying/adding to Rails until it can handle your problem. That is the power of Open Source after all – to quote a much used phrase.


Dr Nic says (July 24, 2006):
Its worrying that the 12+ members of Rails Core are all in the same basic busines situation – new web app development for customer/productivity market.