質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

893閲覧

Railsのmonth_fieldに番号をつけたい

ahiru3

総合スコア12

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/08/10 20:51

Railsのtext_fieldで年、月、番号を入力できるフォームを作成したいのですが可能なのでしょうか。
いくら調べてもmonth_fieldなどしか出てこないです。

理想:
month_fieldで年、月を選択し登録ボタンを押すと、
その月の登録数が自動採番される。
例:2020年8月-1
2020年8月-2
2020年9月-1

上記のようなことが可能なのか、
可能であれば参考記事などあれば教えて欲しいです。

また、上記が無理な場合は、
「年、月、番号の入力」で同番号は登録できないようにするの方法を教えて欲しいです。

独学でアプリの開発を進めているため質問の内容も文章だけですいません。
必要であればコードも貼ります。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

可能です。ただ、"2020年8月-1" を入れるfieldではなく、"2020年8月" と "1" を分けたほうが楽かもしれない。

日付を選ぶのはdatabaseの項目とは関係ない単なる日付入力fieldにします。
仮に month。 これをDate型でなく 文字型 month = month.strftime("%Y年%m月-")' にしておきます "2020年8月-1" を入れるfieldはmonth_count とでも。 'new_month_count = Model.select(:month_count).where("month_count like ?","#{month}%").max.month_count.succ
で、"2020年8月-8" まで入っていたら "2020年8月-9" が得られます。
で、fieldを分けたほうがよいかも、、、と言ったのは、 この次は
"2020年8月-10"にならず"2020年8有-0"になってしまいます。
9からの桁上がりが、月を有 にしてしまった。
10以上になるなら "2020年8月-01" から、3桁になる可能性があるなら"2020年8月-001" からスタートさせる必要があります。
分けておけばそこは気にせずにDBが許容する桁数までOK。

投稿2020/08/10 22:48

winterboum

総合スコア23284

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ahiru3

2020/08/11 20:13

ありがとうございます。早速調べつつ実装してみます。 わからなければ再度質問しますので、 よろしくお願いします。
ahiru3

2020/08/11 20:37

すいません。 調べつつと意気込んでみたものの実装できませんでした。。。 追加で質問しますので、わかったら教えてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問