私はまだ自分がRailsを初めて使うと考えています。 RailsアプリでSMS機能を実装しています。これは、今後の予定をクライアントに思い出させます。私の質問は、私は私の予定モデルではSMSメソッドを持っていますが、私のクライアントモデルは電話の属性が配置されている場所です。予定モデルから電話属性を呼び出すにはどうすればよいですか。ここでRailsの別のモデルの属性を読み取る方法
は私の約束モデルは、私の現在の団体のセットアップに基づいて
class Appointment < ApplicationRecord
enum status: { confirmed: 0, rescheduled: 1, cancelled: 2}
belongs_to :user
belongs_to :client
validates :start_time, presence: true
validates :end_time, presence: true
after_create :reminder
def reminder
@twilio_number = ENV['TWILIO_NUMBER']
account_sid = ENV['TWILIO_ACCOUNT_SID']
@client = Twilio::REST:Client.new account_sid, ENV['TWILIO_AUTH_TOKEN']
time_str = ((self.start_time).localtime).strftime("%I:%M%p on %b. %d, %Y")
reminder = "Hi #{client.name}. Just a reminder that you have an appointment coming up at #{time_str}."
message = @client.api.account(account_sid).messages.create(
:from => @twilio_number,
:to => client.phone_number,
:body => reminder,
)
end
私のクライアントモデル
class Client < ApplicationRecord
has_many :appointments
has_many :users, through: :appointments
scope :clients_by, ->(user) { where(user_id: user.id) }
end
です。リマインダーの変数では、私はちょうどPHONE_NUMBER属性にアクセスするために
reminder = "Hi #{client.name}.?
そして
:to => client.phone_number
のために呼び出すことができませんでしたか?
は、私はちょうどこれを見たように、その記事のアドバイスの後、私たちは私の例を書き換えると思います。あなたの助けに感謝アンドリュー! – ryanb082