Forum: Ruby on Rails RoR sucks, and heres why...

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Mark H. (Guest)
on 2006-01-05 19:02
Well now that I got your attention....

Why RoR sucks:
1. It's smarter than me.  Just when I think I'll have to do some mundane
thing (like I use to in PHP or ASP), I find out RoR does it already for
me.
2. It takes about half or less code to put my stuff together in RoR than
it did in PHP, ASP, ASP.NET, etc.  It seems so unnatural that I can have
a method with only 4 lines of code, and three of those were error
handling - YET it does what it should, no fuss, no muss.
3. I use to worry about giving my client an estimate and then running
over the alloted hours BIGTIME.  Now, RoR has me UNDER the hours
consistently.  I feel so dirty now still giving my old school estimates
that ASP smashed into my head repeatedly knowing I had to hand hold it
all the way.
4. I can finally take those jobs that require "the other" databases like
Postgresql, MySQL, etc. without rewritting my data layer.
5. RoR took away my connection strings!  Now its just too easy :-)
6. RoR makes it easy to run tests across my code, next it will generate
docs for me from my code ... oh wait it's buddy RDoc does that now....
7. I use to enjoy those frustrating nights banging my head against the
wall trying to figure out why my site worked on Windows 2000 but not
Windows 2003, now with RoR, my sites "just work".
8. Now when I see a .NET article I cannot seem to stop yawning.  How
many MSDN magazines now sit beside my desk STILL in their plastic
wrappers?
9. AJAX in a few lines of code?!?!?  But, but ASP.NET taught me it takes
a good 20+ lines AT LEAST.

In case someone hasn't caught on yet (their flame throwers ready at
hand) -- RoR doesn't suck.  Just thought I'd add that in in case someone
didn't have a sense of humor :-)

- Mark
Dave Fox (Guest)
on 2006-01-05 19:38
Yeah, I see what you mean. RoR really does kick butt, er, suck. =-D

Mark H. wrote:
> Well now that I got your attention....
<SNIP>
> In case someone hasn't caught on yet (their flame throwers ready at
> hand) -- RoR doesn't suck.  Just thought I'd add that in in case someone
> didn't have a sense of humor :-)
>
> - Mark
Rick O. (Guest)
on 2006-01-05 20:57
(Received via mailing list)
> In case someone hasn't caught on yet (their flame throwers ready at
> hand) -- RoR doesn't suck.  Just thought I'd add that in in case someone
> didn't have a sense of humor :-)

10. It made me hate my non-rails job using ASP.Net :)

--
rick
http://techno-weenie.net
Zack C. (Guest)
on 2006-01-05 21:45
(Received via mailing list)
+1

Doing maintenance on an asp.net CRM now feels very painful.

Now if rails could get a reporting component like Microsoft Reporting
Services that would be amazing...

Zack
mischa kroon (Guest)
on 2006-01-05 22:18
(Received via mailing list)
On 1/5/06, Mark H. <removed_email_address@domain.invalid> wrote:
> Well now that I got your attention....
>
> Why RoR sucks:

> 5. RoR took away my connection strings!  Now its just too easy :-)

Connectionstrings are so hard :P

> 7. I use to enjoy those frustrating nights banging my head against the
> wall trying to figure out why my site worked on Windows 2000 but not
> Windows 2003, now with RoR, my sites "just work".

Now there's something I won't see me doing :P

> 9. AJAX in a few lines of code?!?!?  But, but ASP.NET taught me it takes
> a good 20+ lines AT LEAST.

www.comfortasp.de

0 lines of code AJAX (or something like it)

Seriously though I do agree with the other points :P
Sam S. (Guest)
on 2006-01-05 22:36
(Received via mailing list)
On 1/5/06, mischa kroon <removed_email_address@domain.invalid> wrote:
> > 9. AJAX in a few lines of code?!?!?  But, but ASP.NET taught me it takes
> > a good 20+ lines AT LEAST.
>
> www.comfortasp.de
>
> 0 lines of code AJAX (or something like it)

That page is completely blank in Safari.  Sounds like they have some
catching up to do.

--
sam
Zed S. (Guest)
on 2006-01-06 09:25
(Received via mailing list)
99.  That Zed asshole *still* hasn't released a new version of SCGI.
Dammit things have to be released frequently or they will not work
well.  Where the hell is he?

Zed A. Shaw
http://www.zedshaw.com/
Daniel W. (Guest)
on 2006-01-06 10:07
(Received via mailing list)
<em>10. It made me hate my non-rails job using ASP.Net :)</em>

I second that! (Only I use PHP, not ASP.)

I'll be the only coder there in about two weeks - I should tell them
I'll
quit too unless they go balls to the wall with RoR. =D

---
:Rails Mailing List (Guest)
on 2006-01-07 14:37
(Received via mailing list)
Here, here. =)

-c
D'Andrew "Dave" Thompson (Guest)
on 2006-01-07 14:37
(Received via mailing list)
Why RoR Sucks (cont.)

1. I spend 2 hours trying to figure out a difficult way to display
action logic only to find that RoR already had a 30 sec remedy.
2. The RoR community actually replies to [NOOB] posts.
3. I don't get to spend 3 months getting my head around a deployment
container only to discover that it really is possessed by a whip
lashing sadist demon.

On 1/5/06, @ wrath. rubyonrails. com <InterHive> wrote:
>
>
>
> _______________________________________________
> Rails mailing list
> removed_email_address@domain.invalid
> http://lists.rubyonrails.org/mailman/listinfo/rails
>
>
>


--
~~~~~~~~~~~~~~~~~~~
D'Andrew "Dave" Thompson
http://dathompson.blogspot.com
Gregory S. (Guest)
on 2006-01-07 14:37
(Received via mailing list)
On Thu, Jan 05, 2006 at 11:06:18AM -0600, Rick O. wrote:
} > In case someone hasn't caught on yet (their flame throwers ready at
} > hand) -- RoR doesn't suck.  Just thought I'd add that in in case
someone
} > didn't have a sense of humor :-)
}
} 10. It made me hate my non-rails job using ASP.Net :)

Amusing, but... actually, I'd say both have their place. When it comes
to
quick and dirty, nothing beats Rails. When it comes to highly complex,
data-backed user interface controls, nothing beats ASP.NET (particularly
several third-party controls). Everything in between is up for grabs.

I would like to emphasize that data-backed, third-party controls are a
big
deal. It was really great on my last ASP.NET project to be able to buy a
tree control that just pretty much worked on the data I was reading from
the DB. It saved me at least a week of development time, if not more,
and
that's a minor example.

That said, I think I enjoy ASP.NET and Rails development pretty equally.
The community (mailing list and IRC) for Ruby/Rails is a damn sight
better
than ASP.NET when you get stuck, though.

} rick
--Greg
David Heinemeier H. (Guest)
on 2006-01-07 14:37
(Received via mailing list)
> It saved me at least a week of development time, if not more, and
> that's a minor example.

The lure of components is directly proportional with the pain of
development.
--
David Heinemeier H.
http://www.loudthinking.com -- Broadcasting Brain
http://www.basecamphq.com   -- Online project management
http://www.backpackit.com   -- Personal information manager
http://www.rubyonrails.com  -- Web-application framework
Rick O. (Guest)
on 2006-01-07 14:37
(Received via mailing list)
>
> That said, I think I enjoy ASP.NET and Rails development pretty equally.
> The community (mailing list and IRC) for Ruby/Rails is a damn sight better
> than ASP.NET when you get stuck, though.

I don't count the fact that it requires a 752 page book (see
Developing Microsoft ASP.NET Server Controls and Components) to write
server controls a plus.

Rails isn't, and will never be a way to drag and drop your way to a
beautiful site.  So, there is of course plenty of room for other
frameworks.  All I was saying is that ASP.Net doesn't make me happy.
It gives me a feeling of "holy crap, it actually worked" if anything
:)

--
rick
http://techno-weenie.net
mischa kroon (Guest)
on 2006-01-07 14:37
(Received via mailing list)
On 1/5/06, Rick O. <removed_email_address@domain.invalid> wrote:

> I don't count the fact that it requires a 752 page book (see
> Developing Microsoft ASP.NET Server Controls and Components) to write
> server controls a plus.

You don't have to write the things :P

You just have to implement them, like Rails... you don't have to write
it to use it :)
And usually the docs for how to use server controls are a lot smaller
then 752 pages.

But a bit better documented then most open source solutions :P

<snip>
> All I was saying is that ASP.Net doesn't make me happy.
> It gives me a feeling of "holy crap, it actually worked" if anything
> :)
>

Thats the case in any environment that your not used to :)
Writing your first bits in Rails is sure to have given you the same
feeling :)
Ben M. (Guest)
on 2006-01-07 14:37
(Received via mailing list)
On 1/6/06, mischa kroon <removed_email_address@domain.invalid> wrote:

> > All I was saying is that ASP.Net doesn't make me happy.
> > It gives me a feeling of "holy crap, it actually worked" if anything
> > :)
>
> Thats the case in any environment that your not used to :)
> Writing your first bits in Rails is sure to have given you the same feeling :)

Developing my first Rails project (which was also my first real
exposure to Ruby) left me with a feeling of pure joy and rekindled my
love of programming (which, after a few years as an ASP.NET
programmer, was in serious need of revival).

That being said, I agree that different projects call for different
tools, but I'm yet to find one that calls for ASP.NET over Ruby on
Rails.

Ben
mischa kroon (Guest)
on 2006-01-07 14:37
(Received via mailing list)
On 1/5/06, Ben M. <removed_email_address@domain.invalid> wrote:
> exposure to Ruby) left me with a feeling of pure joy and rekindled my
> love of programming (which, after a few years as an ASP.NET
> programmer, was in serious need of revival).
>
> That being said, I agree that different projects call for different
> tools, but I'm yet to find one that calls for ASP.NET over Ruby on
> Rails.
>
> Ben

Just out of curiousity, which language did you use under .Net ?
Gregory S. (Guest)
on 2006-01-07 14:37
(Received via mailing list)
On Thu, Jan 05, 2006 at 01:19:12PM -0600, Rick O. wrote:
[...]
} I don't count the fact that it requires a 752 page book (see
} Developing Microsoft ASP.NET Server Controls and Components) to write
} server controls a plus.

Er, what? It takes a fair amount of work to give your control a fancy
VS.NET designer interface, but it's absolutely trivial to create a
control
in general. More to the point, I was primarily talking about using,
rather
than developing, controls.

} Rails isn't, and will never be a way to drag and drop your way to a
} beautiful site.  So, there is of course plenty of room for other
} frameworks.  All I was saying is that ASP.Net doesn't make me happy.
} It gives me a feeling of "holy crap, it actually worked" if anything
} :)

Heh. Well, I've been doing dynamic web development since 1994 (yes,
really). I have used all of the following technologies, roughly in
chronological order:

 1) make and cpp to produce static files from dynamic data
 2) CGI scripts in C with Remote Database Access (yeah, you've never
heard
    of it, nor should you have)
 3) CGI scripts in C with embedded SQL (ew)
 4) CGI scripts in C++ (or maybe it was C) to produce interactive VRML
1.0
 5) Client-side Java (it's dynamic web, kind of, it just isn't HTML)
 6) JSP + JDBC
 7) Struts + JSP + iBatis
 8) (modifying other people's) PHP
 9) ASP.NET + ADO.NET (C#)
10) Ruby + RoR

Of these, I've managed to actually enjoy numbers 4, 6, 9, and 10. Having
used all of those, I would avoid to the best of my ability anything
other
than ASP.NET and RoR. They were the only two where I didn't feel like I
had
succeeded in doing something difficult that I wouldn't want to repeat.
(Well, the Apache2/fcgid/RoR integration kind of felt like that, but it
wasn't too bad.)

An important advantage of C# (or even VB.NET, when strict) over Ruby is
static type analysis. While duck typing and extraordinary dynamism is a
pleasure to work with, one loses the ability to rely on a compiler to
verify that the objects one is attempting to work with are actually
going
to match the use one is putting them to (i.e. conforming to an
interface).

I do not claim that C# or ASP.NET are "better" than Ruby or RoR. I will
claim that there is a place for each, and that one should use the right
tool for the job. (Note that this does not apply to two tools that are
for
the same job, such as Java and .NET; C#/.NET really are as good or
better
than Java in every way other than platform independence, and the Mono
folks
are working on that.)

} rick
--Greg
Joe (Guest)
on 2006-01-07 23:12
n+1. Rails makes you less macho. You won't be able to relate to those
surly, curmudgeony, masochistic C, C++, C#, and Java developers who have
done many times more heavy lifting by writing far more code; been super
anal-retentive in getting definitions and syntax correct; gotten a wide
array of technologies to work together; and rolled many of their own
reinvented wheels many-a-time. It's like those people who drive older
cars and can - and have - rebuilt their own transmissions, engines, etc.
vs. those wimps who spend all their car time actually driving and
Getting Stuff Done.

n+2. Rails makes you less smart. Unlike those PHP developers who Know
Everything and prove it by writing yet another template engine,
framework, etc.
Jeremy E. (Guest)
on 2006-01-07 23:58
(Received via mailing list)
In the interests of starting a more serious discussion of problems with
Rails:

1) The internals are undocumented and sparsely commented, making it
difficult to patch when you discover yet another bug.

2) Non-trivial patches only get applied if they affect the core team.

3) Implementing new features takes priority over fixing bugs.

4) There are a lot of bugs.

5) There are numerous cases where Rails will die without any feedback
to the administrator or user.

6) It's slower than other frameworks (if you can't use caching).

7) It consumes a lot of RAM.

8) def many_method_names_are_really_long_like_this_one; end

I like Rails and I think it is the best web framework for my needs,
but there are still a lot of problems with it.
Marcel Molina Jr. (Guest)
on 2006-01-08 01:23
(Received via mailing list)
On Sat, Jan 07, 2006 at 01:56:44PM -0800, Jeremy E. wrote:
> In the interests of starting a more serious discussion of problems with Rails:

As a core member I'll respond to some of the issues you bring up.

> 1) The internals are undocumented and sparsely commented, making it
> difficult to patch when you discover yet another bug.

When you run up against internal code that is poorly documented or not
documented at all and struggle to figure out how it works, documentation
patches would be appreciated. We work hard to make the outward facing
API
always backwards compatible. Documentation is like code. The more you
write
the more you have to maintain, so we privilege the public API over the
private API in this regard, as the internals tend to be refactored more
frequently (which requires the overhead of documentation updates). Also,
those delving into the internals are likely more able to determine how
they
work. Point taken though. Rails would likely benefit from some more
documentation of the internals. Again, patches welcome. Documentation
patches
don't require tests ;)

> 2) Non-trivial patches only get applied if they affect the core team.

If a patch is non-trivial it needs to be well tested. If it doesn't
apply
cleanly the core team doesn't have the time to make it unless it is
really
important.  If it is well tested then it still takes time to evaluate.
That's
how open source works. There are two sides to everything.

I take issue with the "only get applied if they affect the core team"
part.
As a member of the core team who has taken the time to apply, test and
commit
plenty of code that has nothing to do with me I can't accept such a
broad claim.

We try to make an effort to express in ticket comments when a patch is
not
complete or needs more work. If a patch is of high quality, well tested
and
appropriate for inclusion in Rails then it is often applied relatively
expediently. In the cases where this does not happen I apologize. Gentle
pestering on the rails-core list is encouraged. Gentle...

You may take issue with what "appropriate for inclusion in Rails" means.
Rails came out of David and 37signals' needs for Basecamp so it has its
original motivations springing out of necessity. The core team does have
needs in the applications they build. David, for example, had a need for
tagging in Sunrise. But he did not add a tagging framework to Rails.
Instead,
after implementing a tagging system he was happy with, he extracted the
higher level database relationship model (the new polymorphic
associations)
into ActiveRecord. In other words, there is a distinction to be made
between
people's needs and thing that are appropriate to the framework. We
ultimately
are the judge of what the appropriate level is. If it's at the framework
level and is a good fit for Rails, it goes in. Scott B., a core team
member with the keys to the svn repository, is using the plugin system
in
Rails for several of his projects. He has needs for his apps but
recognizes
they don't fit in on the framework level.

The relatively high barrier of entry to patch submissions is also
largely the
reason why you like Rails so much. We say no before we say yes.

> 3) Implementing new features takes priority over fixing bugs.

Rails has been in growth mode for a while. With the release of 1.0 we
have
said, "This has enough features." The 1.0 branch will only receive bug
fixes
now. Rails hasn't stopped its development but non of the core team has
an
interest in making it huge and bloated so a lot of the work post 1.0 is
going
into the tools used in conjunction with Rails and not as much on Rails
itself. Either way, new features will be implemented and bugs will be
fixed.
We could all spend more time fixing bugs but as the considerable test
coverage of Rails indicates, its code health is good.

> 4) There are a lot of bugs.

Undeniably, there are many pending bug reports. There is a distinction,
though, between there being many tickets and many egregious bugs. Rails
is
always going to have bugs. A lot of bugs, though, are edge cases or
otherwise
not a priority so simply going off the number of pending bug reports is
not
the whole picture. Regardless, if you are so inclined go through and
identify, say, the 10 most critical bugs as you see it and post their
ticket
numbers to the core mailing list making a case. Help prioritizing bug
reports
would be appreciated.

> 6) It's slower than other frameworks (if you can't use caching).

Rails privileges programmer productivity over execution speed. Always
has
and will. As does Ruby itself. That aside, the core team is mindful of
performance and we are working closely with Stefan K. who has taken it
upon
himself to work exclusively on Rails performance. I personally spent
over 20
hours for the 0.13.x release integrating his performance work into
Rails. So,
Rails is slower than other frameworks. There are other criteria by which
it
can be compared to those same frameworks as well. Ruby 2, out there in
the
distance, will  likely make that a non issue. Rails is most of the time
fast
enough. There are real world apps with lots of traffic backing that
claim.

> 8) def many_method_names_are_really_long_like_this_one; end

What is the problem with this? You *want* intension revealing method
names.
Your text editor should alleviate the hassle of typing the whole thing
out.

> I like Rails and I think it is the best web framework for my needs,
> but there are still a lot of problems with it.

Thanks for the list. It's very useful to have people who like Rails
pointing
out what they don't like rather than people who've already made up their
mind
to hate it looker for things to throw rocks at. So I do really
appreciate
your candor. I'm all for people willing to help.

marcel
M. Edward (Ed) Borasky (Guest)
on 2006-01-08 07:08
(Received via mailing list)
Marcel Molina Jr. wrote:

>documentation of the internals. Again, patches welcome. Documentation patches
>don't require tests ;)
>
>
Au contraire -- documentation requires testing. I would encourage as
much automation as possible in generating documentation as a result.
RDoc seems to me to be a nice compromise between documentation written
independently of the code and a full "literate programming" approach,
where you write the documentation and embed the code in it. If I were
starting something like Rails from scratch, I'd probably design around a
literate programming approach, though -- it's worked very well in a
number of other projects.

>>3) Implementing new features takes priority over fixing bugs.
>>
>>
>
>Rails has been in growth mode for a while. With the release of 1.0 we have
>said, "This has enough features." The 1.0 branch will only receive bug fixes
>now. Rails hasn't stopped its development but non of the core team has an
>interest in making it huge and bloated
>
Thank you! Amen! etc.

>can be compared to those same frameworks as well. Ruby 2, out there in the
>distance, will  likely make that a non issue. Rails is most of the time fast
>enough. There are real world apps with lots of traffic backing that claim.
>
>
1. As a working performance engineer, "most of the time fast enough" is
to me at best an excuse and at worst denial. Given Java's notorious
performance issues, it's always been a big surprise to me how much it's
been used for "enterprise web applications". THAI (throw hardware at it)
is not a viable option in the harsh realities of the world. Java's come
a long way since Java 1, and it *still* hasn't overcome the stigma of
its poor early performance relative to C and C++. I suspect the reason a
lot of web apps are written in PHP is because the PHP folks have tuned
their code.

In any event, improving the performance of the Rails internals should be
a high priority. You can't do anything about the database or the web
server or the browser, but then neither can Perl, C, C++, PHP, Java or
Python. I'm glad someone of Stefan K.' caliber is working on it, and
I'm glad the core team is integrating his work.

I'd recommend implementing the TPC-W benchmark in Rails and seeing how
you compare with other frameworks, given identical hardware, OS, web
server and database configurations. There's also an open-source
equivalent, although it doesn't have the clout in the marketplace that
TPC does. Customers and users keep score.

2. Waiting till Ruby 2.0 is also not a viable option. I don't know what
the schedule is for YARV, but it seems to be the best bet for speeding
up Ruby itself. From what I've seen of the Ruby language, there's no
reason in the world Ruby can't be speed-competitive with any other
"interpreted" scripting language. I went by the YARV web site a few days
ago and it looks like they could use some help -- considering the value
it promises, it seems like they have an awfully small team.

--
M. Edward (Ed) Borasky

http://linuxcapacityplanning.com
Andreas S. (Guest)
on 2006-01-08 11:50
M. Edward (Ed) Borasky wrote:
> I suspect the reason a
> lot of web apps are written in PHP is because the PHP folks have tuned
> their code.

That's completely wrong. I doubt that you can find any interpreter that
is slower than PHP. The reasons why PHP is used have nothing to do with
performance. Still, like Rails, PHP is "fast enough" for most people,
and, more important, it scales well.
Andreas S. (Guest)
on 2006-01-08 12:08
Jeremy E. wrote:
> In the interests of starting a more serious discussion of problems with
> Rails:

The only thing that really bothers me about Rails: I have to use a
seperate set of FastCGI servers for every application. It isn't possible
to take 2 applications, e.g. RForum and Typo, and make them run on the
same server, because their class names collide. This probably isn't of
great concert for applications like Backpack that are created from
scratch, but it is for many smaller websites.
Vivek K. (Guest)
on 2006-01-09 05:56
(Received via mailing list)
Its so easy to do SQL  that you never realize how many data accesses you
are
doing until you do a tail -f on the development.log.
Innocous statements like User.find or User.find_all ("name="x")  are so
easy
to code using ActiveRecord but one hardly realizes that it could
generate so
many SQL queries!!
David Heinemeier H. (Guest)
on 2006-01-09 07:54
(Received via mailing list)
To a few people...

Jeremy E.:

> Is there a timeline for how long the 1.0 branch will be maintained?

Until 1.1 is out in the wild and proven stable.


Ed:

> I'd recommend implementing the TPC-W benchmark in Rails...

Please Do Investigate (TM). This seems like something most any
programmer working in Rails could do. It doesn't require deep
knowledge of the internals. At least not for the first version. Once
you do have that first version up, post a link here on the mailing
list to the code and others will help you improve it until it reflects
the best Rails can do.

THEN we can start taking about possibly taking some action on
potential trouble spots.

> THAI (throw hardware at it) is not a viable option in the harsh realities of the world

When the core team talk about how Rails is fast enough and that you
should THAI then its because it's fast enough for _us_ and because we
_do_ throw hardware at it.

I fully recognize that there are situations and organizations where
the economics of that doesn't fit. That's the best motivation in the
world to start getting your hands dirty and doing something about it.

Rails is a collection of solutions from people who had the problems.


To Vivek:

> Its so easy to do SQL  that you never realize how many data accesses you are
> doing until you do a tail -f on the development.log.
> Innocous statements like User.find or User.find_all ("name="x")  are so easy
> to code using ActiveRecord but one hardly realizes that it could generate so
> many SQL queries!!

Hu? Both of those examples you mention causes exactly 1 query each.
How would writing that by hand make it any less?

Also, "until you do a tail". Here's a recommendation: ALWAYS run a
tail during development. It'll teach you a lot about how Active Record
works and will drip in surprises instead of saving it all for a big
bang in the end.
--
David Heinemeier H.
http://www.loudthinking.com -- Broadcasting Brain
http://www.basecamphq.com   -- Online project management
http://www.backpackit.com   -- Personal information manager
http://www.rubyonrails.com  -- Web-application framework
Vivek K. (Guest)
on 2006-01-09 08:39
(Received via mailing list)
> Hu? Both of those examples you mention causes exactly 1 query each.
> How would writing that by hand make it any less?
>
> Also, "until you do a tail". Here's a recommendation: ALWAYS run a
> tail during development. It'll teach you a lot about how Active Record
> works and will drip in surprises instead of saving it all for a big
> bang in the end.


Yes,I do a tail now. What I meant was that rails reduces the efforts
drastically  when it comes to working with SQL, that one never realizes
how
much of DB access one is doing.I actually entirely bypassed learning
SQL! A
book I bought to learn SQL is gathering dust:-)

--
David Heinemeier H. (Guest)
on 2006-01-09 08:54
(Received via mailing list)
> Yes,I do a tail now. What I meant was that rails reduces the efforts
> drastically  when it comes to working with SQL, that one never realizes how
> much of DB access one is doing.I actually entirely bypassed learning SQL! A
> book I bought to learn SQL is gathering dust:-)

I'd recommend giving it a read ever still. I have yet to complete a
single Rails project that didn't require a drop down to find_by_sql at
some point or another. For either performance, statistics, or really
hairy joins.

You can start by watching along in the log and see what methods
generate what SQL statements. That's a great way to pick up simple SQL
while still moving forward.
--
David Heinemeier H.
http://www.loudthinking.com -- Broadcasting Brain
http://www.basecamphq.com   -- Online project management
http://www.backpackit.com   -- Personal information manager
http://www.rubyonrails.com  -- Web-application framework
Thibaut Barrère (Guest)
on 2006-01-09 11:19
(Received via mailing list)
>
> Yes,I do a tail now. What I meant was that rails reduces the efforts
> drastically  when it comes to working with SQL, that one never realizes how
> much of DB access one is doing.I actually entirely bypassed learning SQL!
> A book I bought to learn SQL is gathering dust:-)
>


Hi Vivek

the point you raise is valid with pretty much all the ORM you'll be able
to
find (including Hibernate/NHibernate on J2EE/.NET, or ActiveRecord for
Rails). These tools helps you in term of productivity and in ease of
development in general, yet you have to be careful as the abstraction
can
(not always, but still can) have a cost.

Learning SQL and looking for bottlenecks at the db queries level will
prove
useful anyway!


cheers

Thibaut
Marcel Molina Jr. (Guest)
on 2006-01-11 00:01
(Received via mailing list)
On Sat, Jan 07, 2006 at 05:03:05PM -0600, Marcel Molina Jr. wrote:
> > 4) There are a lot of bugs.
>
> Undeniably, there are many pending bug reports. There is a distinction,
> though, between there being many tickets and many egregious bugs. Rails is
> always going to have bugs. A lot of bugs, though, are edge cases or otherwise
> not a priority so simply going off the number of pending bug reports is not
> the whole picture. Regardless, if you are so inclined go through and
> identify, say, the 10 most critical bugs as you see it and post their ticket
> numbers to the core mailing list making a case. Help prioritizing bug reports
> would be appreciated.

One other thing. Anyone is welcome to go through the bug list and turn a
bug
report into a PATCH ticket. In fact, you are not just welcome to, you
are
encouraged to.

marcel
Jeremy E. (Guest)
on 2006-01-11 00:01
(Received via mailing list)
Marcel,

Thank you for responding.  I apologize if my list sounded a bit
bitter.  It's probably the result of spending many hours learning and
modifying the Rails internals and submitting a patch (with tests) only
to have it not applied (but not rejected either).

> Rails would likely benefit from some more
documentation of the internals. Again, patches welcome. Documentation
patches
don't require tests ;)

I'll try to work on some documentation patches for the internals.

> The relatively high barrier of entry to patch submissions is also largely the
reason why you like Rails so much.

Agreed.  More often than not the added features are useful to me.

> Rails has been in growth mode for a while. With the release of 1.0 we have
said, "This has enough features." The 1.0 branch will only receive bug
fixes
now.

That's good to hear.  Is there a timeline for how long the 1.0 branch
will be maintained?

> Regardless, if you are so inclined go through and
identify, say, the 10 most critical bugs as you see it and post their
ticket
numbers to the core mailing list making a case. Help prioritizing bug
reports
would be appreciated.

I'll try to make time to do so.

> Rails is most of the time fast
enough. There are real world apps with lots of traffic backing that
claim.

True.  This is certainly less of an issue than the issues mentioned
above (though faster is always better :) ).

> What is the problem with this? You *want* intension revealing method names.
Your text editor should alleviate the hassle of typing the whole thing
out.

It's mainly an issue when I feel better, shorter names could have been
chosen (e.g. options_from_collection_for_select =>
collection_select_options). The typing isn't so much the problem as
reading code.  Longer method names take more effort to mentally parse.
Honestly, this is a pretty small issue, which is why it was the last
one on the list.

> Thanks for the list. It's very useful to have people who like Rails pointing
out what they don't like rather than people who've already made up their
mind
to hate it looker for things to throw rocks at. So I do really
appreciate
your candor. I'm all for people willing to help.

I'll try to see if I can do more than just provoke discussion.  Thank
you for your thoughtful response and level-headedness.
Andreas S. (Guest)
on 2006-01-11 00:13
Marcel Molina Jr. wrote:
> On Sat, Jan 07, 2006 at 05:03:05PM -0600, Marcel Molina Jr. wrote:
>> > 4) There are a lot of bugs.
>>
>> Undeniably, there are many pending bug reports. There is a distinction,
>> though, between there being many tickets and many egregious bugs. Rails is
>> always going to have bugs. A lot of bugs, though, are edge cases or otherwise
>> not a priority so simply going off the number of pending bug reports is not
>> the whole picture. Regardless, if you are so inclined go through and
>> identify, say, the 10 most critical bugs as you see it and post their ticket
>> numbers to the core mailing list making a case. Help prioritizing bug reports
>> would be appreciated.
>
> One other thing. Anyone is welcome to go through the bug list and turn a
> bug
> report into a PATCH ticket. In fact, you are not just welcome to, you
> are
> encouraged to.

Unfortunately many patches seem to sit in the tracker for ages, and when
someone from the core team finally takes some time to look at them some
are already outdated. It would increase the motivation for potential
patch submitters a lot if patches were processed more quickly. If
they're not good enough, just reject them, but having them sit in the
tracker without anyone caring can be frustrating.
Wilson B. (Guest)
on 2006-01-13 21:25
(Received via mailing list)
On 1/10/06, Andreas S. <removed_email_address@domain.invalid> wrote:
> >> numbers to the core mailing list making a case. Help prioritizing bug reports
> are already outdated. It would increase the motivation for potential
> patch submitters a lot if patches were processed more quickly. If
> they're not good enough, just reject them, but having them sit in the
> tracker without anyone caring can be frustrating.
>

Indeed. I know there are many patches in the tracker, but it would be
nice to get a yes/no as quickly as possible.
Also, is the "patch bump" procedure talked about anywhere?
I don't want to bother the core list every week, but I also don't want
to continually maintain patches against trunk, particularly when they
are simple.
As an example, I think this is a pretty good patch, but I don't want
to be defending it two months from now as new fixtures are added to
the trunk test suite.
http://dev.rubyonrails.org/ticket/3402

The actual functionality change is stable, but when you're submitting
patches to the db_structure scripts.. that could get irritating to
maintain.

Is there something else I should be doing?
Marcel Molina Jr. (Guest)
on 2006-01-13 21:31
(Received via mailing list)
On Fri, Jan 13, 2006 at 02:22:31PM -0500, Wilson B. wrote:
> > >> identify, say, the 10 most critical bugs as you see it and post their ticket
> > someone from the core team finally takes some time to look at them some
> to continually maintain patches against trunk, particularly when they
> Is there something else I should be doing?
We've actually talked about this in core and as I remember it agreed
that we
wanted to provide this as a customization. I've only scanned over the
patch
but it looks good. It's the appropriate implementation and its tested.
Thanks. Will look at it closely soon and likely apply it. Sorry for the
hold
up. You've done everything just fine.

Thanks again,
marcel
Russ McBride (Guest)
on 2006-01-14 00:04
(Received via mailing list)
1) Raw image upload
I'm uploading a raw image into a blob column and noticed that unless
I overwrote the model attribute writer that Rails would try to load a
ruby object for the image.  So in the model I did this:

     def picture=(picture_field)
         write_attribute(:picture, picture_field.read)
     end

and things work fine ... except if the user fails to select an image
to upload, in which cases I get an error:

    undefined method `read' for "":String

Any ideas for avoiding this error message in these cases?  It seems
like some kind of conditional wrapped around the write_attribute
command should work ...  or maybe there's a better way to upload a
raw image.


2) Conditional render
I'd like to do something like:
              <%= render(:partial => "login" :unless_controller =>
"new") %>

What's the syntax? ... or should I be using a different logical
structure, like a controller?



Thanks,
russ
Jim Hughes (Guest)
on 2006-01-14 00:19
(Received via mailing list)
The stuff between the <%= %> is plain old Ruby.  I would do this:

<%= render(:partial => "login")  unless_controller == "new" -%>

(The hyphen near the end suppresses the new line if the expression is
blank.
Or something like that.)

Jim

  _____



2) Conditional render
I'd like to do something like:
             <%= render(:partial => "login" :unless_controller => "new")
%>

What's the syntax? ... or should I be using a different logical
structure,
like a controller?



Thanks,
russ
Jim Hughes (Guest)
on 2006-01-14 00:55
(Received via mailing list)
Sorry that should have been
<%= render(:partial => "login")  unless controller == "new" -%>

  _____

From: removed_email_address@domain.invalid
[mailto:removed_email_address@domain.invalid] On Behalf Of Jim Hughes
Sent: Friday, January 13, 2006 4:16 PM
To: removed_email_address@domain.invalid
Subject: RE: [Rails] a few intro questions

The stuff between the <%= %> is plain old Ruby.  I would do this:

<%= render(:partial => "login")  unless_controller == "new" -%>

(The hyphen near the end suppresses the new line if the expression is
blank.
Or something like that.)

Jim

  _____



2) Conditional render
I'd like to do something like:
             <%= render(:partial => "login" :unless_controller => "new")
%>

What's the syntax? ... or should I be using a different logical
structure,
like a controller?



Thanks,
russ
Russ McBride (Guest)
on 2006-01-14 03:38
(Received via mailing list)
>Sorry that should have been
><%= render(:partial => "login")  unless controller == "new" -%>


Thanks Jim.  Unfortunately, "controller" doesn't call up the name of
the controller, but neither does controller_name , at least not
within the view.

I'm working in a layout and just want to call a partial from within
the layout as long as the initiating controller is not of a given
name, "new".

I'm assuming this is straightforward.

Thanks,
russ
Ezra Z. (Guest)
on 2006-01-14 05:29
(Received via mailing list)
On Jan 13, 2006, at 5:35 PM, Russ McBride wrote:

> name, "new".
>
> I'm assuming this is straightforward.
>
> Thanks,
> russ
> _______________________________________________
> Rails mailing list
> removed_email_address@domain.invalid
> http://lists.rubyonrails.org/mailman/listinfo/rails

Use controller.controller_name or controller.action_name


Cheers-
-Ezra Z.
WebMaster
Yakima Herald-Republic Newspaper
removed_email_address@domain.invalid
509-577-7732
Guest (Guest)
on 2006-01-22 21:40
RFM, pal!


Russ McBride wrote:
>>Sorry that should have been
>><%= render(:partial => "login")  unless controller == "new" -%>
>
>
> Thanks Jim.  Unfortunately, "controller" doesn't call up the name of
> the controller, but neither does controller_name , at least not
> within the view.
>
> I'm working in a layout and just want to call a partial from within
> the layout as long as the initiating controller is not of a given
> name, "new".
>
> I'm assuming this is straightforward.
>
> Thanks,
> russ
Eden B. (Guest)
on 2006-01-23 01:44
(Received via mailing list)
"Guest" (removed_email_address@domain.invalid),

If you don't like the questions people are posting here, please stop
reading.  This is a voluntary community of people helping each other.
If
someone posts a question that everyone thinks is a waste of time, then
no
one will respond.  Don't ruin the friendly, helpful atmosphere here with
your negative, content-free posts.

Sorry to all for dragging this out, but that type of post really bothers
me.

Eden
Nick (Guest)
on 2006-05-10 02:37
mischa kroon wrote:

> www.comfortasp.de
>
> 0 lines of code AJAX (or something like it)
>

I can tell.
This topic is locked and can not be replied to.