2017-04-30 1 views
0

두 모델 UserPost이 있습니다.조건부 get_or_create 레일 5

Post의 속성은 이고 draft 또는 published입니다.

User에는 게시 된 게시물이 하나 뿐이고 status이어야합니다.

이 작업을 수행하는 레일이 있습니까? 조건에 따라 get_or_create를할까요?

+0

라는 방법이있다'find_or_create_by', 어쩌면 내가''find_or_create_by_status ('출판')를 시도했지만 작동하지 않았다 당신에게 – Iceman

+0

을 도울 수있는 일입니다. – static

+2

'find_or_create_by (상태 : 'published')는 올바른 구문입니다. – Iceman

답변

1

find_or_create_by이라는 메서드를 사용하면 db의 레코드를 지정된 조건으로 찾아보고 레코드를 반환하거나 레코드가없는 경우 새 레코드를 만들 수 있습니다.

u = User.find_or_create_by(status: 'published')