前提・実現したいこと
現在、Railsで月毎に管理できる家計簿アプリを作成しています。
毎月使った金額を入力して、DBに登録しているのですが、固定費は毎月変わらないので、自動で登録したいと思っています。
毎月1日にDBの固定費テーブルに事前に決めておいた値を自動で登録(create)したいのですが、
そういった機能はできますでしょうか。
参考になる記事等だけでも教えて頂けると助かります。
該当のソースコード、DB
登録のビューは下記で、必要な項目を入力して、登録を押すとfixed_costs(固定費)テーブルにcreateするようになっています。
###アプリ
###ビュー
index
1<%= form_with model: @fixed_cost, url:fixeds_path, local: true do |f| %> 2 3 <div class="fixed_category_id"> 4 カテゴリー 5 <%= f.collection_select(:fixecate_id,Fixecate.all, :id, :name, {},{class:"text"}) %> 6 </div> 7 8 <div class="fixed_id"> 9 項目 10 <%= f.collection_select(:fixecate_name_id,FixecateName.all, :id, :name, {},{class:"text"}) %> 11 </div> 12 13 <div class="price"> 14 金額 15 <%= f.text_field :price, class:"text" %>円 16 </div> 17 18 <div class="month"> 19 日付 20 <%= f.date_select :month, discard_day: true %> 21 </div> 22 23 <div class="form_child"> 24 <%= f.submit "登録" ,class:"btn" %> 25 </div> 26 27<% end %>
###コントローラー
fixedcontroller
1def index 2 @fixed_cost = FixedCost.new 3 @fixed_costs = FixedCost.where('extract(year from month) = ? AND extract(month from month) = ?', Time.now.year, Time.now.month) 4end 5 6def create 7 @fixed_cost = FixedCost.new(fixed_cost_params) 8 @fixed_cost.save 9 redirect_to root_path 10end 11 12private 13 14def fixed_cost_params 15 params.require(:fixed_cost).permit(:fixecate_id,:fixecate_name_id, :price, :month) 16end
###データベース(fixed_costsテーブル)
fixecate_idとfixecate_name_idは別のテーブルと関連付けています。
###最後に
現在、プログラミングの学習を始めて4ヶ月が立ちました。
やりたい実装に対して、手も足もでなくなり、始めてteratailに質問させて頂きました。
検索の仕方が未熟なだけなのかもしれませんが、参考になる記事等だけでも教えて頂けると大変助かります。また、みなさんがどのように検索しているのかも知りたいです。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/12 23:36
2021/06/13 08:04
2021/06/13 11:10