0
私はレール3のビルドメソッドに問題があります。プロジェクトとグループの外部キーを持つTodoを作成したいと思います。2つのオブジェクトを持つビルド関数
団体が
グループにhas_manyのプロジェクトのように見えると
プロジェクトにhas_manyのドスドス、グループbelongs_toの
藤堂は1つのプロジェクトと1グループ
My routes
resources :groups do
resources :projects do
resources :todos
end
end
作業完璧をBELONGS_TO。
フォームもで完璧に動作します:
<%= form_for [@group, @project, @todo] do |f| %>
私の問題は今、藤堂 - コントローラで作成および更新する方法です。
def create
@group = Group.find(params[:group_id])
@project = Project.find(params[:project_id])
@todo = @group.projects.todos.build(params[:todo])
@todo.save
...
は私が書く場合:
@todo = @group.todos.build(params[:todo])
または @todo = @ project.todos.build(のparams [:TODO])
PROJECT_ID OR group_idのは、データベースに保存されます。しかしないで:
@todo = @group.projects.todos.build(params[:todo])
私の質問は、私はGROUP_IDとPROJECT_IDのアクセスを取得し、データベースにそれらの両方を保存することができますどのように、今あります。
@group = Group.find(params[:group_id])
@todo = @group.todos.build(params[:todo])
@todo.project = Project.find(params[:project_id])
: