rails:DM 발송 기능의 간단한 실현~모델~
직접 메시지 기능
검색이 힘들기 때문에 DM 기능에 대해 간단하게 설치 절차를 소개합니다.
전제로 DM 기능의 실현
① 대화방을 만들고 대화 기능을 설치하는 방법(중간에 두 개의 테이블이 있음)
② 대화방을 만들지 않는 방법
네.
②에 대한 설명입니다.
ER 그림
룸 모형을 만들지 않아도 만들 수 있는 이유는routes로 설정할 수 있다.
절차.
users모델이 있는 전제로 씁니다.$ rails g model Messages content:string user:references receive_user:references
Messages model 및 migrate 파일을 생성합니다.
완성된 것은 여기에 있다
_create_messages.rbclass CreateMessages < ActiveRecord::Migration[5.2]
def change
create_table :messages do |t|
t.string :content
t.references :user, foreign_key: true
t.references :receive_user, foreign_key: { to_table: :users }
t.timestamps
end
end
end
_create_messages.rb{ to_table: :users }
라고 덧붙였다.
이거 없으면receiveusers표를 참조했기 때문에'그런 책상은 존재하지 않습니다'라고 말할 수 있습니다.
따라서 외부 키워드 참조users 테이블을 지정했습니다.$ rails db:migrate
↑ 하다.
다음은 모델.
models/message.rbclass Message < ApplicationRecord
belongs_to :user
belongs_to :receive_user, class_name: 'User'
end
models/message.rbclass_name: ‘User’
추가합니다.
이것에 따라receiveuser 콘서트존재하지 않는 반을 탐색하는 것을 방지하다.
models/user.rbhas_many :messages
has_many :sent_messages, through: :messages, source: :receive_user
has_many :reverses_of_message, class_name: 'Message', foreign_key: 'receive_user_id'
has_many :received_messages, through: :reverses_of_message, source: :user
def sent_messages(other_user, content) #メッセージを送るためのメソッド
unless self == other_user
self.messages.find_or_create_by(receive_user_id: other_user.id, content: content)
end
end
이렇게 완성!
$railsc로 잘 할 수 있는지 확인하는 거 잊지 마세요.🙇♂️
보태다
수정 요청이 있으면 언제든지 말씀하세요.
참고 문장
https://aka-shin.com/techacademy-mentaring-09/
Reference
이 문제에 관하여(rails:DM 발송 기능의 간단한 실현~모델~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/baby-0105/items/268bdd4a0e8617a97779
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
룸 모형을 만들지 않아도 만들 수 있는 이유는routes로 설정할 수 있다.
절차.
users모델이 있는 전제로 씁니다.$ rails g model Messages content:string user:references receive_user:references
Messages model 및 migrate 파일을 생성합니다.
완성된 것은 여기에 있다
_create_messages.rbclass CreateMessages < ActiveRecord::Migration[5.2]
def change
create_table :messages do |t|
t.string :content
t.references :user, foreign_key: true
t.references :receive_user, foreign_key: { to_table: :users }
t.timestamps
end
end
end
_create_messages.rb{ to_table: :users }
라고 덧붙였다.
이거 없으면receiveusers표를 참조했기 때문에'그런 책상은 존재하지 않습니다'라고 말할 수 있습니다.
따라서 외부 키워드 참조users 테이블을 지정했습니다.$ rails db:migrate
↑ 하다.
다음은 모델.
models/message.rbclass Message < ApplicationRecord
belongs_to :user
belongs_to :receive_user, class_name: 'User'
end
models/message.rbclass_name: ‘User’
추가합니다.
이것에 따라receiveuser 콘서트존재하지 않는 반을 탐색하는 것을 방지하다.
models/user.rbhas_many :messages
has_many :sent_messages, through: :messages, source: :receive_user
has_many :reverses_of_message, class_name: 'Message', foreign_key: 'receive_user_id'
has_many :received_messages, through: :reverses_of_message, source: :user
def sent_messages(other_user, content) #メッセージを送るためのメソッド
unless self == other_user
self.messages.find_or_create_by(receive_user_id: other_user.id, content: content)
end
end
이렇게 완성!
$railsc로 잘 할 수 있는지 확인하는 거 잊지 마세요.🙇♂️
보태다
수정 요청이 있으면 언제든지 말씀하세요.
참고 문장
https://aka-shin.com/techacademy-mentaring-09/
Reference
이 문제에 관하여(rails:DM 발송 기능의 간단한 실현~모델~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/baby-0105/items/268bdd4a0e8617a97779
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ rails g model Messages content:string user:references receive_user:references
class CreateMessages < ActiveRecord::Migration[5.2]
def change
create_table :messages do |t|
t.string :content
t.references :user, foreign_key: true
t.references :receive_user, foreign_key: { to_table: :users }
t.timestamps
end
end
end
{ to_table: :users }
$ rails db:migrate
class Message < ApplicationRecord
belongs_to :user
belongs_to :receive_user, class_name: 'User'
end
class_name: ‘User’
has_many :messages
has_many :sent_messages, through: :messages, source: :receive_user
has_many :reverses_of_message, class_name: 'Message', foreign_key: 'receive_user_id'
has_many :received_messages, through: :reverses_of_message, source: :user
def sent_messages(other_user, content) #メッセージを送るためのメソッド
unless self == other_user
self.messages.find_or_create_by(receive_user_id: other_user.id, content: content)
end
end
수정 요청이 있으면 언제든지 말씀하세요.
참고 문장
https://aka-shin.com/techacademy-mentaring-09/
Reference
이 문제에 관하여(rails:DM 발송 기능의 간단한 실현~모델~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/baby-0105/items/268bdd4a0e8617a97779텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)