지금은 프로파일 데이터를 저장하기위한 Rails 3 모델이 있습니다. 사용자가 프로필 사진을 표시하도록 선택하면 해당 데이터베이스 테이블의 열 중 하나에 이미지 URL이 포함됩니다 (페이스 북과 로그인 할 때 Facebook 프로필 API와 통합되어 사용자의 프로필 사진 URL을 저장하지만 관련이 없습니다). 내가 겪고있는 문제는 이미지 열이 0 일 때 내 서버의 기본 경로로 설정하는 방법이 필요하다는 것입니다. 마이그레이션 또는 모델에서는 기본값을 사용할 수 없습니다. 내 생각은 after_find을 사용했지만 다음은 작동하지 않습니다 :after_find 콜백을 사용하여 nil 값을 덮어 씁니다.
프로필 모델 :보기에서
def after_find
if self.image.nil?
self.image = "/assets/generic_profile_image.png"
end
end
(HAML) :
.profile_pic
= image_tag @user.profile.image
프로파일 모델은 사용자에 연결되어 모델은 has_one 연관을 통해 모델링한다. 지금 대신 동적으로 "/assets/generic_profile_image.png"에 이미지 속성을 돌려, 내 페이지에서 다음 생성 된 코드로 날 떠나 아무것도하지 않는 것 같다
<div class='profile_pic'>
<img alt="Assets" src="/assets/" />
</div>
이 문제를 해결하는 방법에 대한 어떤 제안 대단히 감사하겠습니다!
P. 프로파일 이미지가 너무 많은 곳에서 보여지기 때문에 뷰의 조건부는 문제가되지 않습니다!
완벽하게 작동했습니다! 위의 코드를 작성할 때 자고 있었어야합니다. –