我正在阅读一本使用 Sinatra 制作 Twitter 克隆的书,以提高我对 Ruby 的了解。我对作者的使用感到困惑
User.first(:nickname => params[:recipient])
他在整个代码中的多个位置使用它,如下例所示。
post '/message/send' do
recipient = User.first(:nickname => params[:recipient])
Status.create(:text => params[:message], :user => User.
get(session[:userid]), :recipient => recipient)
redirect '/messages/sent'
end
究竟是什么“第一”添加到这个方法。例如,它是在搜索第一个使用昵称作为参数传入的用户:recipient?换句话说,它是否等同于“查找”?
我应该补充一点,这也让我感到困惑,因为昵称应该是唯一的,所以如果它确实在做的话,它没有理由需要搜索“第一个”。
更新
作者正在为 ORM 使用 DataMapper