🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby on Rails 5

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

Ruby on Rails

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

Q&A

1回答

758閲覧

strong patameterで受け取った値を変換したい

renren643

総合スコア279

Ruby on Rails 5

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

Ruby on Rails

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

0グッド

0クリップ

投稿2019/12/30 09:00

strong patameterで受け取った値を変換したいです。
selectboxから、月と日を入力してもらい、DBに登録したいです。その際、

form

<select name="profile[birthday][month]"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> </select> <select name="profile[birthday][day]"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> </select>

conroller

def profile_params params.require(:profile).permit(birthday: [:month, :day]) end

このように
profile_params[:birthday][:month]、profile_params[:birthday][:day]
という形で月と日を受け取れるようにしておいて、
profile_params[:birthday]に整形した値(1970-1-1)を実際は入れたいときどのようにしたらいいでしょうか?

変換自体は、

profile_params[:birthday] = "1970-" + profile_params[:birthday][:month] + "-" + profile_params[:birthday][:day]

のようにできるのですが、
profile_params[:birthday]の型が,
<ActionController::Parameters {"month"=>"3", "day"=>"1"} permitted: true>
になってしまい、stringに変換できません。

回答お待ちしています。

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

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

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

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

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

guest

回答1

0

???
"1970-" + profile_params[:birthday][:month] + "-" + profile_params[:birthday][:day]
で出来ませんか? 
<ActionController::Parameters {"month"=>"3", "day"=>"1"} permitted: true>
でも、Hashの様な性質を持ってますので可能なはずです。

投稿2019/12/31 03:58

winterboum

総合スコア23567

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問