2010-07-20 1 views
1

이미지 링크 첨부 파일 (linktype = "image"또는 일부 텍스트 (linktype = "text))을 포함 할 수있는 Note 모델이 있습니다. 노트를 표시하면 링크 유형에 따라 표시 방법이 달라집니다. 예는 다음과 같습니다Ruby on Rails 앱에서 뷰의 표시 코드를 반복 할 위치는 어디입니까?

<% @notes.each do |q| %> 
    <h2 class="title"><%= q.name %></h2> 
    <% if q.linktype == "image"%> 
     <img src="<%= q.link %>" /> 
    <% elsif q.linktype == "text"%> 
     <%= q.text %> 
    <% end %> 
<% emd %> 

내가보기 코드를 여러 번 반복 내 사이트에 몇 가지보기에 메모를 표시하므로보다는 가지고 있고, 내가 한 장소에서 그것을 가지고에서 참조 할 다른보기.

위의 코드와 같은 표시 코드를 직접 도우미에 넣을 수 있습니까? 아니면 더 좋은 방법이 있습니까?

답변

4

일부 엔티티와 관련이없는 반복보기 코드의 경우 (예 : users/show.html.erb) 위젯 폴더를 만들고 여기에 부분을 작성하십시오. 나는 위젯에 nav-bars 등을 넣었다.

  • 헬퍼 (등 특별한 방법으로 반복)보기 관련 로직을위한
  • : 추상적 인 방법으로
    /app/views/widgets/widget1.html.erb 
    /app/views/widgets/widget2.html.erb 
    ... 
    
    # some_view.html.erb 
    <%= render :partial => 'widgets/widget1' %> 
    

    , 나는 헬퍼의 차이 등 때문에 파셜의이 종류를 만들 보기 위젯은 데이터 이미지입니다. 데이터와 구멍을 일치시킵니다.
+0

답장을 보내 주셔서 감사합니다. 일부에서는 뷰 코드가 필요한 페이지를 실제로 jquery 플러그인의 입력으로 사용하고 있습니다. 위젯의 렌더링은 파일에 위젯 코드를 가져다 줍니까? (jquery 코드로 래핑하면 작동할까요?) – ben

+0

좀 더 명확해야합니다. 아마도 다른 질문 일 수 있습니다. – clyfe