rails에서의 모델간의 관계의 중요성

i was/ror 2007.10.05 11:59
저걸 왜 하나 싶었다.

모델을 생성하고나면 관련있는 모델끼리 관계를 명시하라고 했다.
근데 하지 않아도 프로그램 돌아가는데는 아무 상관이 없길래 소홀히 했었다.
나중에 각 테이블 간에 관계 빼먹은게 없나 찾아보느라 옴팡 힘들었던 것 생각하면... -_-;;;

일례를 보자.
products와 wishlists 테이블 간에는
products : wishlist = 1 : 多 관계가 형성된다.

rails에서 모델 파일을 열어다가 각 모델마다 명시를 해준다.
/app/model/product.rb
...
has_many :wishlists

/app/model/wishlist.rb
...
belongs_to :product
(wishlist 테이블엔 product_id라는 외래키가 있다.)


자, 그럼...
wishlist 목록을 뽑아오는 action을 list_wishlist라고 하자.
이를 관장하는 컨트롤러가 store_controller.rb라고 하면,

/app/controllers/store_controller.rb
...
def list_wishlist
   @wishlist = Wishlist.find(
                      :all,
                      :conditions => ['member_id=?', session[:member_id]])
end
목록을 직접 뿌려주는 view단으로 가보자.
/app/view/store/list_wishlist.rhtml
...
<%
      for wishlist in @wishlist
         product = Product.find_by_id(wishlist.product_id)
%>
     <li>product.name</li>
<% end %>
하지만 나는 앞서 products과 wishlists 사이에 관계를 설정해줬더랬다.
rhtml의 소스는 정말 객체를 집어쓰듯, 가뿐히 모델사이를 가로질러 데이터를 가져다준다.
/app/view/store/list_wishlist.rhtml
...
<%
      for wishlist in @wishlist
         product = Product.find_by_id(wishlist.product_id)
%>
     <li>wishlist.product.name</li>
<% end %>
단순하고, 간결하다.
rails front page 문구와 거의 같다만...
Don't be hurt, Web programmers!
신고

'i was > ror' 카테고리의 다른 글

rails에서의 모델간의 관계의 중요성  (0) 2007.10.05
재밌지가 않은 개발...  (0) 2007.09.16
[Ruby] 또 시작이다...  (0) 2007.08.26

[RoR] usenet에 올린 질문에 대한 답.

2007.09.09 18:03

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력해주세요.

Radrails, BOM, UTF-8

2007.09.09 13:24

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력해주세요.

[Ruby] 또 시작이다...

i was/ror 2007.08.26 17:39
잘하는 사람들은 몇 번 쓰~윽 보면 코딩을 술술 해대겠지만
난 나름의 한계를 분명히 안다.

이해는 남보다 빨리 잘 하겠지만서도,
실제로 코드로 들어가면 어느 순간엔가는 멈칫멈칫하게 된다.

Rails를 써보면서 MVC Framework도 처음 써보겠다...
왜 이렇게 나누는진 알겠는데
이제 약간 한계에 온 것 같다.

이럴 때는 방법이 없다.
쉬운 부분이건 어려운 부분이건 막힌 부분의 수준은 중요하지 않다.

외울 때까지 보는거야.. -_-;
그러다보면 내 것처럼 구사할 수 있게 된다.

무식한 방법이지만,
내가 이래먹은걸 어케해.
신고

'i was > ror' 카테고리의 다른 글

rails에서의 모델간의 관계의 중요성  (0) 2007.10.05
재밌지가 않은 개발...  (0) 2007.09.16
[Ruby] 또 시작이다...  (0) 2007.08.26


티스토리 툴바