2012-10-20 93 views
0

我有一个赋值页面,其中包含许多赋值。对于每个作业,我想要一个链接为该作业创建一个报告。Rails 3.2.8 Model-Form

在创建报告页面上,分配信息应该被预填充,并且应该呈现报表的一个表单。

任何提示如何启动?

回答

0

首先,你应该有一个报表模型可以说,报告模型具有信息属性,那么我们就可以简单地做

在报告中的模型应该像

belongs_to :assignment 

那么你分配模型应该有

has_many:reports 

确保在报告中包括数据库assignment_id属性

控制器的项

你的任务指标的行动应该是这样的

def index 
    @assignments = Assignment.all 
end 

<% @assignments.each do |assignment| %> 
    <%#= basic assignment info %> 
    <%= link_to "Report", new_assignment_report_path(assingment) %> 
<% end %> 
报告中的控制器

我们在新的报表视图新动作

def new 
    @assignment = Assignment.find(params[:assignment_id]) 
    @report = Report.new(:assignment_id = @assignment.id) 
end 

,我们可以简单地做

<%#= @assignment.attribute basic assignment info %> 

然后为报告表我们可以简单地做

<%= form_for @report do |f| %> 
    <%= f.text_area :message %> 
    <%= f.hidden_field :assignment_id %> 
<% end %> 

我希望这有助于

不要忘记这样做在你的路线

resources :assignments do 
    resources :reports 
end 
+0

感谢,我会尝试这一点,让你知道它是如何为我工作。 – user993460