2016-06-26 9 views
0

私はこの質問にいくつか混乱している点に直面しています。Railsの関係と形式

"Johnは、列車の名前と番号、問題のある部分、優先度、およびその担当者が誰であるかをメンテナンスチームに(課題)タスクを作成する必要があります。

各問題には1つ以上の解決策があり、各部分には1つの問題がある可能性があります。 電車には多くの問題(タスク)がありますが、同じ問題ではありません。

ので、それに基づいて、私はまたTrain.rbとTrainCar.rbを持っているものを

class Issue < ActiveRecord::Base 
    belongs_to :project 
    has_many :train_issues, :dependent => :destroy 
    accepts_nested_attributes_for :train_issues, :reject_if => lambda { |a| a[:content].blank? } 
end 

class TrainIssue < ActiveRecord::Base 
    belongs_to :issue 
    has_many :train_displays 
    has_many :train_display_problems 
    accepts_nested_attributes_for :train_display_problems, :reject_if => lambda { |a| a[:content].blank? } 
end 

class TrainDisplay < ActiveRecord::Base 
    belongs_to :train_car 
    belongs_to :train_issue 
end 

class TrainProblemAndSolution < ActiveRecord::Base 
    belongs_to :TrainDisplayProblem 
    belongs_to :TrainDisplaySolution 
end 

を作成し、それらはすべて関連して、これが正常に動作しています。私はtrain_idをディスプレイで見つけることができ、その逆も可能です。

私の質問は、このユーザーがこれらのすべての情報で問題を作成するためのフォームを作成するにはどうすればよいですか。 nestedFormsを使っていくつかの例を読んでいましたが、うまくいきませんでした。フォームは問題を作成しますが、パラメータを持つTrainIssueは作成しません。

ありがとうございました!

+0

'fields_for:association'を使用してネストされたフォームを使用する必要があります。これを行う最も簡単な方法の1つは、 'cocoon gem'を使うことです! https://github.com/nathanvda/cocoon – dpedoneze

答えて

0

ネストされた属性にはFormtasticを使用できます。

<%= semantic_form_for @issue do |f| %> 
    <%= f.inputs :title, :description %> 
    <%= f.inputs :for => :trains_issues do |train_issue, index| %> 
    <%= train_issue.input :name %> 
    ... 
    <%= end %> 
    <%= f.actions %> 
<% end %>