몇 가지 도움을 받아이 코드를 사용하여 내 앱에서 구입 한 토큰을 생성합니다. 얼마나 많은 토큰이 주문되었는지에 따라 반복되며, create_trackable_token
이라는 메서드를 호출하여 토큰을 식별하는 고유 한 문자열을 생성합니다. 이것에 대해 두 가지 질문이 있습니다.몇 가지 보안 및 오류 처리 문제가 있습니까?
1) 특정 열이 대량 할당에 취약하지 않도록 어떻게 다시 쓸 수 있습니까? 지금 당장이 모델에서 'attr_accessible'을 사용하면이 메서드에서 세 속성을 노출해야합니다. 한 번에 할당하기 때문입니다. 나는 그렇게하지 않는 것을 좋아한다. 메서드는 이미 보호되어 있으므로 최종 사용자가 메서드를 호출 할 수 없습니다.
2) 오류를 처리하는 가장 좋은 방법은 무엇입니까? 토큰은 고유해야하며 지금은 create_trackable_token
메서드가 이미 사용중인 문자열을 생성하면 어떻게 될지 잘 모르겠습니다. ActiveRecord
이 처리하는지 또는 메서드에 오류 처리를 작성해야합니까? 고유성 처리 할 수
protected
def create_trackables
return unless self.success
order = Order.find(order_id) #you shouldn't need this line if it has_one :order
1.upto(order.total_tokens) do
Tracker.create!(
:user_id => order.user_id,
:token => Tracker.create_trackable_token,
:order_id => order_id
)
end
end