Google의 앱에는 사이트의받은 편지함을 통해 볼 수있는 "알림"이 있으며 이메일에 대한 정보도 있습니다. 알림을 받으면 해당 메시지에 회신 할 수있는 링크가 포함되어 있습니다. 즉, 원래 메시지의 보낸 사람에게 PM을 보내거나 게시물에 주석을 남길 수도 있습니다.컨트롤러와 우편 발송자가 사용하는 유틸리티 코드를 어디에 둘 것인지?
if @notification.post
# comment on the post in question
@reply_link = new_comment_path(:post_id => @notification.post.id)
else
# by default, reply link sends a PM in return
@reply_link = new_notification_path(
:recipient_id => @notification.sender.id,
:subject => @notification.subject =~ /^Re:/?
@notification.subject :
"Re: " + @notification.subject
)
end
나는 BTW 우리의 컨트롤러 코드에서 것을했다 :
이
사용하는 링크를 답장을 알아낼 수있는 코드app/controllers/notifications_controller.rb
지금 우리가 같은 응답 링크를 포함 할 우리의 이메일 알림, 즉 우리는 같은 종류의 회신 링크 생성을해야합니다. app/mailers/notifier.rb
나는 자신을 반복하고 싶지 않기 때문에, reply_link
방법을 만들어서 어딘가에 두 곳에 넣을 것입니다. 컨트롤러와 메일러가 액세스 할 수 있습니다.
제 생각에는 모델에 넣어서 Notification.reply_link
을 가질 수있었습니다. 멋지 겠지만 new_comment_path
및 new_notification_path
이 필요하므로 모델에서 사용할 수 없습니다.
나의 두 번째 생각은 도우미를 사용하는 것이지만, 모든 사람들은 도우미가 빨아 먹는다고 생각하는 것 같고, b) 어쨌든 작동시킬 수 없다.
그래서 컨트롤러와 메일러에 모두 액세스 할 수 있도록이 편리한 방법을 어디에 두어야합니까? 좋은 코딩 방법을 따르고 있습니까?