2012-06-23 3 views
0

초보자 질문에 대해 유감스럽게 생각하지만 종종 궁금합니다. 내보기에서 사용할 메서드를 어디에 만들어야합니까 ??내보기에서 사용할 메서드는 어디에 만들어야합니까?

설명해 드리겠습니다. 내 user/views/show.html.erb에서 부울을 반환하는 메서드를 호출하고 표시 페이지에 링크를 표시 할 수 있는지 여부를 알려 주겠습니까?

글쎄,이 방법은 항상 User.rb 모델에서 만들어야한다고 생각합니다. 하지만 실제로 얻을 수있는 것은 정의되지 않은 메서드 오류입니다!

나는 도움을 apreciate 것이다!

감사

UPDATE

나는 사용자 도우미 .. 의 방법을 만들하지만 좋은 프로그래밍 때 그것은 작동합니까? 맞습니까 길입니까? 아니면 가 더 나은 길입니까?

+1

당신은 아마 우리에게 사용자 모델의 관련 부분을 표시해야합니다 . –

+0

사실을 반환하는 더미 메서드입니다. – Breno

답변

0

들, 여기 객체를 사용하여 사용자 메소드를 호출하지 않았다 초보자 아주 간단 : 예 : @ user.my_metho 난 그냥 문제가 있었다

my_method를 호출했다.

그러나 페드로는 드레이퍼 보석이 정말 나를 위해 많이하지 않았다 언급 한 바와 같이 ... 도 정상적으로 작동 가져올 수 없습니다

...

0

디스플레이 관련 코드가 있으면 모든 도큐멘트에서 사용할 수 있도록하려면 특정 도우미 또는 'application_helper'에 있어야한다고 생각합니다. 서식 지정 및 표시 논리 (사용자가 가지고있는 것과 같은)는 도우미로 들어가야합니다.

이 방법으로 데이터를 변경하면 모델로 이동해야합니다. 작동하지 않으면 정의되지 않은 메서드 오류가 무엇인지 알 수 없습니다.

2

요즘 나는 shown in this Railscast과 비슷한 발표자를 사용하는 것을 선호합니다. 코드를 깨끗하고 재사용 가능하게 유지하며 Rails Helpers보다 OO에 가깝습니다. :) 사실

+0

드레이퍼를 사용합니까? gem을 설치했지만 g draper : decorator 명령이 작동하지 않기 때문에. 이 특정 발전기를 찾을 수 없습니다. – Breno

+0

'Gemfile'에 추가 했습니까? AFAICT해야합니다. –

+0

AFAICT이란 무엇입니까? 그래, 내 Gemfile에 있기 때문에 나는 railscast에서 사용되는 onw보다 다른 구문을 가지고 있기 때문에 생성 할 수 없었다. 그러나 도우미 메서드를 호출하면 데코레이터에서 NoMethodError가 발생합니다. 심지어 'h'를 사용합니다. mehtod 이름 앞에 도우미 메서드를 지정하십시오 ... – Breno

관련 문제