皆様、こんにちは。

Railsの勉強をしたりしていなかったり……と、のんびりやっていた犬井です。

この度、入れ子構造のViewからデータを取得するのにハマってしまったので、覚書として残しておきます。

やりたいこと

Viewにて入れ子構造になっているデータをコントローラで取得したい。

リンク元からPOSTで送られてくるデータが子要素を持っており、その子要素のデータの中で一つだけ使いたいという状況が発生しました。

文章では分かりづらいので、例を出します。Parameterに@userという要素が子要素@nameを持っており、@nameはidとtelというデータを持っていたとします。

Parameter
{
@user{
    @name{:id, :tel}
    }
}

こんな感じのデータがあるとします。

この時、何らかの事情でnameのtelだけを取り出したいという場合は、コントローラーの方では、以下のように書くと取得できます。

@hoge = pram[:user][:name][:tel]

本来であればストロングパラメータでとってくるべきなのでしょうが、私が作っているシステムに関しては設計がよくなかったらしくてうまくいきませんでした。

今度から仕方なく力業を使う場合は、こちらを使ってみようと思います。