現在、私は* task_type *のようなもののための定数を使用します。私は、新しいタスクを初期化するときRoRで定数とシンボルの利点を組み合わせるには?
class TaskType
TWITTER_MENTION_REPLY = "twitter_mention_reply"
TWITTER_FOLLOW = "twitter_follow"
TWITTER_DM_REPLY = "twitter_dm_reply"
TWITTER_RETWEET = "twitter_retweet"
end
はそう、私はこのようなタイプを割り当てます。
new_task.task_type = TaskType::TWITTER_MENTION_REPLY
このアプローチの利点があることはケースであり、定数の型が間違っていると、インタプリタがエラーを返します。欠点は、文字列を比較するにはコストがかかりますが、シンボルはそれに比べてはるかに優れています。 問題は、これら2つの利点をどのように組み合わせるかです。
私は次のクラスを作成してみました:
class TaskType
TWITTER_MENTION_REPLY = :twitter_mention_reply
end
を、それに伴う問題は、DBに保存するとき、保存されたフィールドは、次のようになりますということでした: - :文字列にtwitter_mention_reply
あなたはActiveRecordのか、いずれかのORMを使用していますか? – lbz
私はActiveRecordを使用しています – MikeMarsian