1
這是我第一次使用foreign_key,而且我不知道如何爲它創建驗證。問題是這樣的:Ruby on Rails:在foreign_key模型驗證中提供幫助
我正在創建一個聊天請求和聊天框應用程序。
我有這樣的chatrequest模型。
chatrequest.rb
has_many :conversations
belongs_to :user
接下來,我有一個會話模型,它批量接受聊天請求的用戶。
conversation.rb
belongs_to :chatrequest
belongs_to :sender, foreign_key: "sender_id", class_name: "User"
belongs_to :recipient, foreign_key: "recipient_id", class_name: "User"
該邏輯已經工作。我創建了一個的link_to功能,結合創建聊天會話模型,這是這樣的:
<p>
<%= link_to 'Chat me', conversations_path(sender_id: current_user.id, recipient_id: @chatrequest.user.id, chatrequest_id: @chatrequest.id), method: 'POST' %>
</p>
現在,我想實現的是這三個驗證:
- CURRENT_USER != recipient_id(不能接受自我請求)
- 將不會創建,除非current_user.id == sender_id
- 將不會創建,除非chatrequest.user.id == recipient_id 4.(可選)確保current_user(發件人)只接受sender_id(收件人)。
對不起,如果它有點難,我真的不知道該怎麼做。如果您有代碼段,請將其發佈。提前致謝!
我很想知道如果我的方法工作,如果你找到另一種方式來做到這一點。 –