我有一个包含许多作业的作业页面。对于每个作业,我想要一个链接来为该作业创建报告。
在创建报告页面上,应预先填充分配信息,并应呈现报告表单。
任何提示我如何开始?
我有一个包含许多作业的作业页面。对于每个作业,我想要一个链接来为该作业创建报告。
在创建报告页面上,应预先填充分配信息,并应呈现报告表单。
任何提示我如何开始?
首先你应该有一个报告模型假设报告模型有一个消息属性,那么我们可以简单地做
在您的报告模型中应该看起来像
belongs_to :assignment
那么你的分配模型应该有
has_many:reports
确保在报告数据库中包含 assignment_id 属性
您的控制器的 assignments 索引操作应如下所示
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