我有一个包含许多作业的作业页面。对于每个作业,我想要一个链接来为该作业创建报告。
在创建报告页面上,应预先填充作业信息,并应呈现报告的表格。
任何提示我如何开始?
答案 0 :(得分: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