私はレールで次の問題に直面しています。私は1からn個のタスクを含むことができる1からn個のサブプロジェクトを含むかもしれない新しいプロジェクトを編集/作成するためのフォームを持っています。私は新しいプロジェクトを作成するときにハッシュを含むハッシュを持つデータを含む複数モデルのフォームを持つレール
だからコントローラが実行されます。
@project = Project.new
sub_project = SubProject.new
work = Work.new
sub_project.works << work
@project.sub_projects << sub_project
は、私はビューの入力フィールドを生成する基本的な構造、私はこのようなビルドアップ形式持つ:
プロジェクトを
<% form_for (:project, :url => action_parameter, :id => project) do |form| %>
サブプロジェクト
<% fields_for "project[sub_projects][]", sub_project do |subproject_form| %>
ここまではうまくいっていますが、今ではどのようにfields_forのタスクを定義しますか?パラメータ コンテナの種類を競合
:私は雑種から次のエラーを取得するよう、次の試みは...
<% fields_for "project[sub_projects][works][]", work do |work_form| %>
...は解決策ではありません。 ハッシュのインスタンスが必要ですが、Arrayのインスタンスが見つかりました。 これは、配列 とハッシュベースのパラメータを渡すことによって発生します。 qs [] = value & qs [key] = value。
なぜこれは機能しませんか?そして私はどのように私の問題に取り組まなければならないのですか?
ええと私が取り組んでいるコードはまだRails 1.2.3であり、それを2.xや3.xにマージするのは現時点では私のリーグのままです。 – Mark
2.3へのアプリケーションのアップデート後.5これは確かに行く方法でした。だから、チップのおかげで。 – Mark