collection_select を使用してドロップダウンリストを作成しました
<%= collection_select(:page, :user_id, @users, :id, :full_name) %>
その部分はうまくいきます。コントローラーを使用して保存/処理するのに問題があります.APIdockはその部分ではあまり役に立たず、私が見つけた1つの例を取得できませんでした. コントローラーで選択した値を処理する方法を誰かに説明してもらえますか?
collection_select を使用してドロップダウンリストを作成しました
<%= collection_select(:page, :user_id, @users, :id, :full_name) %>
その部分はうまくいきます。コントローラーを使用して保存/処理するのに問題があります.APIdockはその部分ではあまり役に立たず、私が見つけた1つの例を取得できませんでした. コントローラーで選択した値を処理する方法を誰かに説明してもらえますか?
あなたには価値があるでしょう
params[:page][:user_id]
これは、フォームで選択された値に対応します。params
変数を調べていることがわかります。
IT は数字で、選択したユーザーの ID です。次の方法でユーザーをロードできます
@user = User.find(params[:page][:user_id])
しかし、それは役に立たない。実際、user_id
ページのプロパティにアクセスできる場合は、通常の
@page.update_attributes(params[:page]) # in the update action
また
@page.create(params[:page]) # in the create action
としてページにユーザーを取得します@page.user
。
モデルにページ値を格納するには、user.rb で「has_many :pages」を指定する必要があります。
@user = User.find(params[:user_id])
@user.pages = params[:page]
params[:page] は、現在のモデル レコードに格納される値の配列を返します。