2012-10-07 1 views
0

this site에서 튜토리얼을 따라 jQuery CRUD 양식을 작성했습니다.레일즈 - jQuery 유효성 검사 오류를 통해 객체 생성

display_name 필드의 고유성을 검사하기 위해 단일 유효성 검사가있는 Artist 모델이 있습니다. 이 명백 할 때 매개 변수, display_name를 통해 전달되는 것을 어떻게 이해

Started POST "/artists" for 10.1.1.1 at 2012-10-07 13:50:00 +1300 
Processing by ArtistsController#create as JS 
    Parameters: { (ommited parts for brevity) , "artist"=>{"display_name"=>"Banksy"}, "commit"=> "Create Artist"} 
    User Load (0.6ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1 
    Artist Load (0.5ms) SELECT `artists`.* FROM `artists` 
    (0.4ms) BEGIN 
    Artist Exists (1.4ms) SELECT 1 AS one FROM `artists` WHERE `artists`.`display_name` IS NULL LIMIT 1 
    (0.5ms) ROLLBACK 
    Rendered artists/create.js.erb (0.5ms) 
Completed 200 OK in 71ms (Views: 55.5ms | ActiveRecord: 3.4ms) 

을 나는 데 어려움 : 활동 작성을 POST'ing 때

의에 WEBrick 로그의 관련 부분은 다음을 보여주고있다 는 널 (NULL)이 아닌 문자열로 설정되지만, 실행중인 유효성 검증 조회에서 널 (null) 인 인스턴스를 점검 중입니다.

답변

0

"POST/artists"컨트롤러 동작의 소스 코드는 무엇입니까?

해당 만들기 작업은 params에 적절하게 액세스해야합니다. 이 경우, 같은 :

def create 
    @artist = Artist.create(params[:artist]) 
    # then render or redirect 
end 

올바른 paramsArtist.create를 호출 액션인가?

+0

아. 그게 ... CanCan을 사용하고 있고 내 아티스트 컨트롤러에서 load_and_authorize_resource를 사용하고 있었지만 JS에서 호출 할 때 리소스를 올바르게로드하는 것으로 나타나지 않습니다. 나중에는 조사 할 것이지만 지금은 params로 명시 적으로 작성합니다. 감사 – bdx