當我做一個查詢...軌活動記錄的細微差別和防止注入攻擊
是有使用find_by助手或不之間的任何有意義的區別?
當我做這樣的事情時,我忽略了選擇較短代碼行的原因嗎?
Booking.find_all_by_user_id(1, :joins => :confirmation)
Booking.find(:all, :joins => :confirmation, :conditions => [ 'bookings.user_id = ?', 1])
當我做一個查詢...軌活動記錄的細微差別和防止注入攻擊
是有使用find_by助手或不之間的任何有意義的區別?
當我做這樣的事情時,我忽略了選擇較短代碼行的原因嗎?
Booking.find_all_by_user_id(1, :joins => :confirmation)
Booking.find(:all, :joins => :confirmation, :conditions => [ 'bookings.user_id = ?', 1])
不,關於注射攻擊。 find_by
方法應該是安全的。但是唯一的殺手鐗錯誤是使用find
方法時,喜歡做直接使用用戶輸入您的conditions
PARAM內:
Booking.find(:all, :joins => :confirmation, :conditions => [ 'bookings.user_id = #{params[user_id]]}'])
當然,正確的是你所採取的方式和方法find
將過濾的東西了。
Booking.find(:all, :joins => :confirmation, :conditions => [ 'bookings.user_id = ?', params[user_id]])