Railsチュートリアルでつくったものを改造して、簡単なアプリをつくっています。
form_forで投稿するmicropostの日付内容を変更したいです。
text_fieldとdate_selectに加えて、boolean型のcheck_boxを与えます。
このcheck_boxがtrueのとき、フォームで入力した日付を無視して、翌日(Time.now+1.day)にしたい(したうえで保存したい)のです。
これがmicropostのformに関するcontrollerです。
ruby
1def create 2 @micropost = current_user.microposts.build(micropost_params) 3 if @micropost.save 4 redirect_to root_url 5 end 6 end 7 8 private 9 10 def micropost_params 11 @p = params.require(:micropost).permit(:text, :date, :check) 12 if @p[:check] 13 logger.debug "OK" 14 @p[:arrival_date] = Time.now + 1.day 15 end 16 end
上のようにつくってきたのですが、@pをどうやって@micropostに与えることができるのかわかりません。
直接、params[:date] = Time.now+1.dayにすることも考えましたが、エラーがでて進みません。
なお、デバッグ用の"OK"は表示されています。
特別、やり方は問いません。@pを使っても使わなくても構いません。
どのようにすれば実装できるのでしょうか?回答よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。