我有一個任務列出學生的細節。我想根據名字和城市進行搜索。如果cityId==0 and name=''
,那麼我想列出我的所有學生的詳細信息。我怎樣才能做到這一點?我以錯誤的方式做到了這一點。控制器是:如果紅寶石上的語句
if(Student.where(params[:cityId])==0)
studentcount = Student.count()
@students = Student.limit(params[:jtPageSize]).offset(params[:jtStartIndex]).order(params[:jtSorting])
@jtable = {'Result' => 'OK','Records' => @students.map(&:attributes), :TotalRecordCount => studentcount}
else
studentcount = Student.where("name LIKE ? AND city = ?", "%#{params[:name]}%", params[:cityId]).count()
@students = Student.where("name LIKE ? AND city = ?", "%#{params[:name]}%", params[:cityId]).limit(params[:jtPageSize]).offset(params[:jtStartIndex]).order(params[:jtSorting])
@jtable = {'Result' => 'OK','Records' => @students.map(&:attributes), :TotalRecordCount => studentcount}
需要注意的是,如果您使用的是Rails,則約定將命名爲「city_id」而不是「cityID」。駱駝案例幾乎只用於類名稱。 – tadman
控制器的代碼太多,除了單行數據檢索器和respond_to之外,移動到模型的所有內容。 – tokland