0

레일 4에있는 gem을 사용하고 있습니다. 사용자가 다른 사용자의 프로필로 이동하면 두 번째 사용자에게 메시지를 보내는 해당 프로필의 버튼을 클릭하도록합니다. 예를 들어, A는 B의 프로필로 이동하여 메시지 버튼을 클릭합니다. 그러면 B가 다음 메시지를 받게됩니다. 프로필 페이지에서 다음 코드를 가지고 있습니다.Rails Mailboxer gem이 작동하지 않는 이유는 무엇입니까?

위의 코드를 link_to 태그에 삽입하려고 시도했지만 작동하지 않습니다. 메시지 수신 페이지에는 다음과 같은 코드가 있습니다.

Conversations: 

<%= current_user.mailbox.conversations %> 


Inbox: 

<%= current_user.mailbox.inbox %> 

그러나받은 편지함 코드 또는 대화 코드에는 아무 것도 표시되지 않습니다. 도와주세요. 감사.

답변

0

코드를 평가하려면 <%을 사용하십시오. <%=은 페이지에 내용을 쓰는 것입니다. 또한 .send_message 메소드가 실제로 사용자의 시야에 없어야합니다. 컨트롤러에 액션을 생성하거나 전체 서비스 객체를 생성하여 메시징을 담당하게합니다.

한 가지 사실은이 코드가보기에 속하지 않는다는 것입니다. 그러나 더 많은 importanlty, 당신은 그것을 호출해야합니다, 사용자가 링크를 클릭하십시오. 그래서, 간단한 해결책은 다음과 같습니다

  1. 는 경우 리디렉션 사용
  2. 가 새로 만든 행동으로 라인 current_user.send_message(@user, "Body", "subject")을 넣어이 작업에 대한 경로를 생성하여 컨트롤러 중 하나에 액션 'send_message'을 만들 이 작업에 대한 템플릿을 사용하지 않으려면
  3. 보기에이 동작에 링크 (또는 단추)를 추가하십시오.