【发布时间】:2016-07-02 13:44:22
【问题描述】:
我目前有一个可以注册新订阅者的应用。当他们注册时,用户订阅了一年,我想说“如果一年到了,您的订阅现在将关闭,直到续订”。我最近向订阅者添加了一个名为status 的属性,并将其设置为字符串。我的想法是我可以做出一个 if/else 语句来为订阅者打开或关闭条件,但我不确定这是否是最好的主意?我的问题是 - 处理此类案件的最佳方法是什么?为了清楚起见,我将发布一些代码。
控制器:
class SubscribersController < ApplicationController
helper_method :sort_column, :sort_direction
def index
@search = Subscriber.search(params[:q])
@subscriber = @search.result
@search.build_condition if @search.conditions.empty?
@search.build_sort if @search.sorts.empty?
end
def new
@subscriber = Subscriber.new
end
def create
@subscriber = Subscriber.create(subscriber_params)
if @subscriber.save
flash[:notice] = "Subscriber Has Been Successfully Created"
redirect_to new_subscriber_path(:subscriber)
else
render "new"
end
end
架构:
create_table "subscribers", force: :cascade do |t|
t.string "first_name"
t.string "last_name"
t.string "email"
t.string "phone_number"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "visit"
t.integer "mug_number"
t.string "status"
end
如您所见,一切都很基本。我只是主要寻求有关如何处理这种情况的建议。任何帮助都会非常感谢!
【问题讨论】:
-
您可能需要查看 cron 和 whenever gem 以安排在年底运行“取消订阅”代码。
标签: ruby-on-rails ruby