나는 이것을 할 수있는 좋은 방법을 찾을 수 없었기 때문에 나는 물을 것이라고 생각했다.레일스에서 attr_accessor를 원하는 TYPE을 지정하고 빌트인 레일 검증을 사용하여 유효성을 검사하는 방법이 있습니까?
예를 들어 ActiveRecord 모델에서 데이터베이스 지원 특성은 자동으로 적절한 데이터베이스 기반 유형으로 변환됩니다.
Category.new(params[:category])
레일은 name
가 문자열이고 category_id
는 정수입니다 것을 알고 : 나는 Category
모델을 가지고, 그것은 속성의 커플이 있다면 내가 같이 가면, name
및 category_id
을 말한다.
내가 유효성을 검사하려는 여러 일시적/합성 특성이 있고 특정 유형이 있다고 가정 해 보겠습니다. 양식에서 양식을 제출하고 싶습니다. 양식이 정의 된 방식에 따라 자동으로 문자열 또는 정수 또는 날짜 (예 :)로 변환되도록하고 싶습니다.
내가 좋아하는 레일 모델에서 뭔가를 선언했다 경우
attr_accessor :some_number_variable
attr_accessor :some_date
난 당신이 정수로 이전을 캐스팅하고 싶습니다 "레일을 알려주는 내장 방식과에, 후자는 있는가 날짜가 Category.new(params[:category])
일 때 "params[:category][:some_number_variable]
과 params[:category][:some_date]
은 컨트롤러에 제출 된 데이터의 일부입니다. (날짜 예제는 많은 날짜 형식이 주어진다면 조금 까다 롭습니다).
그래, 내가 attr_accessor는 루비 방법이라고 알고 있어요, 내가 속성을 지정할 attr_accessible 것을 알고 질량 할당 허용. Rails 3에 관해서는 당신이 맞다고 생각합니다. 현재 ActiveRecord 외부에서 유효성 검사가 이루어지면이를 수행하는 것이 더 쉬울 것입니다. – humandoing