2012-10-20 70 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