0
A
답변
1
create
메서드는 해당 간단한 블로그 게시물을 만드는 책임을지고 update
메서드는 해당 메서드를 업데이트해야합니다.
def create
@blog = Blog.new(params[:blog])
if @blog.save
flash[:notice] = "Saved!"
redirect_to @blog
end
end
def update
@blog = Blog.find(params[:id])
if @blog.update_attributes(params[:blog])
flash[:notice] = "Saved!"
redirect_to @blog
end
end
저장이 성공/실패 할 때 수행 할 작업 외에도 많은 것을 추출 할 수 있습니다.
0
create
과 update
은 비슷하지만 문자 그대로 동일하게 만드는 것이 가치 있다고 생각하지 않습니다. 일반적으로 서로 다른 플래시 메시지를 원할 것입니다. 또한 유효성 검사가 실패하면 create
에서 new
작업을 렌더링하는 것이 가장 좋습니다. 반면에 실패한 update
에서는 edit
작업을 렌더링 할 가능성이 큽니다. 이러한 작은 차이점은 일반적으로 충분하기 때문에 별도의 작성 및 새 메소드를 갖는 것이 더 간단하고 읽기 쉽습니다.
개인적으로 create
및 update
각각에 대해 else
절이 있습니다. 사용자는 여전히 오류를 확인하고 그것을 수정하지만,이 방법은 내가 전혀 create
및 update
뷰를 필요가 없습니다 수
#create
else
render :action => "new"
end
#update
else
render :action => "edit"
end
:처럼 그들은 보일 것이다.
save!
또는 update_attributes!
을 사용하는 경우 유효성 검사 오류가 발생하면 예외가 발생하므로 어딘가에서 구해야합니다. 구조대를 구하지 않았다면 모델을 검증하지 못할 때마다 사용자에게 500 오류 페이지가 표시됩니다. 그래서 비 전통적으로 사용하는 것이 더 일반적입니다! save
및 update_attributes
방법.
관련 문제
- 1. Outlook을 통해 메시지를 보내어 Drupal 블로그 게시물을 만들고 싶습니다. 아이디어?
- 2. 블로그 엔진이 블로그 게시물을 작성하는 방법은 무엇입니까?
- 3. 블로그 그룹에서 게시물을 검색
- 4. Wordpress 블로그 게시물을 당겨
- 5. 동일한 개체에서 여러 유형을 저장하면
- 6. 블로그 게시물을 사이드 바에 표시 (레일 3)
- 7. ID에 따라 블로그 게시물을 별도의 파일로 표시
- 8. 간단한 블로그 엔진 웹 사이트
- 9. 어떻게 사용자 A가 블로그 A에 블로그 게시물을 쓸 수는 있지만 블로그 B는 쓰지 않습니다
- 10. 작성자별로 블로그 게시물을 필터링하는 방법은 무엇입니까?
- 11. Wordpress : 블로그 게시물을 (하위) 페이지와 연결 하시겠습니까?
- 12. WordPress 3 블로그 게시물을 관리자에게만 제한하는 방법?
- 13. DDD - 매우 간단한 블로그 모델
- 14. 양식 데이터를 저장하면 동일한 행이 다시 쓰여집니다
- 15. joomla 1.6에서 블로그 게시물을 보내는 방법 윈도우 라이브 writter를 사용하여?
- 16. 블로그 카테고리 템플릿에서 여러 카테고리의 게시물을 가져 오는 중
- 17. api를 통해 WordPress에 블로그 게시물을 보낼 수있는 방법이 있습니까?
- 18. GAE 용 Java로 작성된 간단한 블로그
- 19. MVC는 간단한 방법으로 조건부 출력을
- 20. 동일한 방법으로 const를 복제 하시겠습니까?
- 21. 블로그 홈 페이지에 한 카테고리를 제외한 게시물을 표시하려면 어떻게합니까?
- 22. WordPress 대시 보드에서 블로그 게시물을 하나만 볼 수 있습니다.
- 23. 공통 태그 수로 정렬 된 관련 블로그 게시물을 어떻게 나열합니까?
- 24. 워드 프레스, 기본 블로그 게시물을 조회하고이를 사용하는 경우에만
- 25. 과수원 - 특정 태그가있는 모든 블로그 게시물을 위젯으로 표시하는 방법
- 26. 오픈 ID 란 무엇입니까? 내 블로그 게시물을 구현하는 방법은 무엇입니까?
- 27. CouchDB 블로그 신청
- 28. 이전 중에 데이터베이스 정보를 업데이트해야합니까?
- 29. PasteBin API 버그? 간단한 게시물을 허용하지 않습니다
- 30. Wordpress - 동일한 데이터베이스 테이블이있는 여러 블로그 페이지
저장 또는 저장을해야하나요! – Blankman
또한 업데이트 방법이 실패하면 어떻게해야 "new"가 렌더링됩니까? – Blankman
@Blankman :'create' 메소드에서'save'를 사용하십시오. 연산이 실패하면 두 액션의'save'와'update_attributes'는 모두 false를 반환합니다; 이렇게하면 사용자가 다른 작업으로 리디렉션하지 않고 양식의 실수를 바로 잡을 수 있습니다. 이것은 if 문에 else 부분이 없기 때문입니다. – vonconrad