我没有SQl数据库的经验。我刚开始使用ActiveRecord,我发现自己编写了粘贴ActiveRecord查询语句beucase我不知道何时使用.find()。where(),join等有什么区别。有很多方法可以做一个查询而且我已经过度了。我只是想知道退一步学习SQL是不是一个好主意,或者jus尝试跟进?另外,如果学习SQL的最佳方法是什么?
由于
答案 0 :(得分:3)
是的!你应该知道SQL有效地使用ActiveRecord。
AR通过使您远离编写原始SQL的单调乏味来提高工作效率,但了解它正在做什么将提高您对它的使用,以及您编写有效代码的能力。
您可以在工作时使用tail -f log/development.log
查看日志,这将显示AR生成的语句。这将帮助您获得一个参考框架,以帮助您了解AR正在为给定的呼叫做什么。
AR不会取代SQL - 它会让您在更高级别使用它来扩充它。了解幕后发生的事情只会对你有所帮助。
答案 1 :(得分:0)
答案 2 :(得分:0)
我肯定会建议首先学习SQL,从长远来看,它会帮助你完成ALOT。 Active Record实际上只是数据库的Object-Relational Mapping,有助于使SQL编写更干净,更清晰,更容易。话虽如此,我认为它不是知道SQL的替代品,更不用说它很容易学习基础知识。我建议查看有关SQL和活动记录的文档。
SQL:http://www.w3schools.com/sql/default.asp
有效记录:http://guides.rubyonrails.org/active_record_querying.html和http://api.rubyonrails.org/classes/ActiveRecord/Base.html