现在我正在构建一个呼叫跟踪应用程序来学习 rails 和 twilio。该应用程序有2个相关模型;计划模型有_许多用户。计划表也有值 max_minutes。
我希望它做到这一点,以便当特定用户超过他们的 max_minutes 时,他们的子帐户被禁用,我还可以警告他们在视图中升级。
为此,这是我在 User 类中创建的参数
def at_max_minutes?
time_to_bill=0
start_time = Time.now - ( 30 * 24 * 60 * 60) #30 days
@subaccount = Twilio::REST::Client.new(@user.twilio_account_sid, @user.twilio_auth_token)
@subaccount.calls.list({:page => 0, :page_size => 1000, :start_time => ">#{start_time.strftime("%Y-%m-%d")}"}).each do |call|
time_to_bill += (call.duration.to_f/60).ceil
end
time_to_bill >= self.plan.max_minutes
end
这允许我在视图中运行 if/else 语句来敦促他们升级。但是,我还想在哪里做一个 if/else 语句,如果 at_max_minutes?比用户的 twilio 子帐户被禁用,否则,它被启用。
我不确定我会把它放在哪里。
它看起来像这样
@client = Twilio::REST::Client.new(@user.twilio_account_sid, @user.twilio_auth_token)
@account = @client.account
if at_max_minutes?
@account = @account.create({:status => 'suspended'})
else
@account = @account.create({:status => 'active'})
end
但是,我不确定我会将这段代码放在哪里,以便它一直处于活动状态。
您将如何实现此代码以使功能正常工作?