ヘルパーのポイントをレールで見逃しているのかどうかはわかりませんが、私はdate()ヘルパーを使用しました。変数が返されます。日付()変数にアクセスする日付ヘルパーからレールで送信
私はコントローラに返さ変数にアクセスするにはどうすればよいHERESにヘルパーコード<%=date_select("game", "release_date", :order => [:day, :month, :year])%>
?
おかげ
ヘルパーのポイントをレールで見逃しているのかどうかはわかりませんが、私はdate()ヘルパーを使用しました。変数が返されます。日付()変数にアクセスする日付ヘルパーからレールで送信
私はコントローラに返さ変数にアクセスするにはどうすればよいHERESにヘルパーコード<%=date_select("game", "release_date", :order => [:day, :month, :year])%>
?
おかげ
date_select
ヘルパーは、Railsは、マルチパラメータの属性を呼ぶものを使用しています。つまり、ヘルパーによって作成された日、月、年の3つのドロップダウンに、release_date
属性の値が分割されます。 date_select
名前あなたのコントローラにあなたが行うことができるような規則を次の3つのドロップダウン:
@game = Game.new(params[:game])
と新しいゲームのrelease_date
属性は、選択した日付が設定されます。
または
@game.update_attributes(params[:game])
既存のレコードを更新します。
あなたがのparamsを検査したり、ログファイルを見ると、あなたが3つの個々のコンポーネントが表示されます。あなたはこれらの個々の要素にアクセスすることができなくなり
params["game"]["release_date(1i)"] # the year
params["game"]["release_date(2i)"] # the month
params["game"]["release_date(3i)"] # the day
は直接それは良いアイデアのように見えるしていません。 date_select
ヘルパーは、実際には、新しいオブジェクトの作成または属性の更新の際に使用されるActiveRecordのattributes=
セッターと組み合わせて使用するように設計されています。
ゲームモデルには、「release_date」というdate()フィールドがあります。 Game.create(:name => name、:release_date => params [:release_date])を実行するのは正しいでしょうか? – dotty
フォームが標準ヘルパーを使用して作成されている場合、名前、release_dateなどはparams [:game] [:name]などのようにネストされます。params [:game] [:release_date] 。しかし、あなたはGame.create(params [:game])を行うことができます。 createは、.newに続けて保存を行うのとまったく同じです。 – mikej