私はGroup
モデルとMessage
モデルを持っています。それぞれHABTMです。私は特定のグループにSMSを送信する私のメインフォームの検証を設定しようとしています。今すぐメッセージボディをpresence: true
で検証していますが、それはうまくいきますが、私のグループモデルでは名前が存在することを検証したいのですが、メッセージコントローラでcreateメソッドを呼び出すときに両方を検証する方法はありますか?より明確にするために私のコードを示します。Rails検証を設定しています。 2つのモデルを1つの形式で使用する
今すぐgroup.rb
class Group < ActiveRecord::Base
has_and_belongs_to_many :people
has_and_belongs_to_many :messages
validates :name, presence: true
end
あるmessage.rb
class Message < ActiveRecord::Base
has_and_belongs_to_many :groups
validates :body, presence: true
end
ここに私のmessage_controller.rb
def create
@message = Message.create(message_params)
if @message.save
run_at_time = @message.send_at.present? ? @message.send_at : Time.zone.now
people = Person.in_groups(message_params[:group_ids])
if people.any?
people.each do |person|
person.delay(run_at: run_at_time).send_message(@message.body)
end
flash[:success] = "Messages on their way!"
end
redirect_to root_path
else
render "new"
end
end
です3210
私は自分のフォームに「グループは空白にできません」と「本文は空にできません」と表示するようにします。何も選択されていない場合。