ある種のメタ質問モデルを使用するレポートシステムを構築しています。質問は以前にデータベースに保存されており、レポートの種類に応じて、データベースからいくつかの質問が取得されます。
Variable
物事を乾いた状態に保ちたいので、モデルの情報をreport_header
無駄に渡す方法を見つけようとしています。
new
私が持っているアクションでは:
reportBody = @report_head.report_bodies.build(:variable_id => a.id)
@report_head.variables #modified, thx.
Variable
必要なのは、ある方法でtoからreport_headに属性を渡すことだけDRY
です。
私のモデルを知る必要がある場合:
class Variable < ActiveRecord::Base
attr_accessible :id,:break_point, :description, :name, :time_frequency, :v_type
has_many :report_bodies
has_many :report_heads, :through => :report_bodies
end
class ReportHead < ActiveRecord::Base
attr_accessible :email, :name , :report_bodies_attributes, :report_bodies, :variables_attributes
has_many :report_bodies
has_many :variables, :through => :report_bodies
accepts_nested_attributes_for :report_bodies
end
class ReportBody < ActiveRecord::Base
attr_accessible :report_head_id, :variable_value, :variable_id, :variables_attributes, :report_heads
belongs_to :report_head
belongs_to :variable
end
アップデート
提案されたようにモデルを更新し、変数を呼び出す方法を変更しました。しかし、私が次のようなことをした場合、ビューでそれを使用する方法についてまだ混乱しています:
<%= f.fields_for :variables do |variable| %>
<%= variable.text_field :name, :value => :name, :class => 'text_field' %>
<% end %>
実際の名前の代わりに文字列を出力します。