Rails 3.2.8模型 - 表格

时间:2012-10-20 02:01:45

标签: ruby-on-rails-3.2

我有一个包含许多作业的作业页面。对于每个作业,我想要一个链接来为该作业创建报告。

在创建报告页面上,应预先填充作业信息,并应呈现报告的表格。

任何提示我如何开始?

1 个答案:

答案 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