我确信这很容易,但我无法弄清楚
我基本上有两个脚手架:信封和交易。 我可以进入交易视图并像平常一样进行新交易,但我想要的是能够在信封的显示视图中进行新交易。
这可能吗?我尝试在信封节目中渲染交易表单。无法让它工作。现在我正在尝试链接到事务控制器,但我无法使其工作。
<p>
<h3>New Transaction</h3>
<%= link_to("New Transaction", :controller => :transactions, :action => :new, envelope_id => @envelope.id) %>
</p>
更新
我发现我正在尝试做的事情类似于博客文章和评论,其中评论表单直接链接到您想要附加评论的特定帖子并位于其中。所以我查了一些关于如何做到这一点的代码,并在我的展示信封页面上提出了这个:
<p>
<h3>New Transaction</h3>
<%= form_for [@envelope, @envelope.transactions.build] do |f| %>
<p>
<%= f.text_field :cash %>
</p>
<p>
<%= f.text_field :name %>
</p>
<p>
<%= f.submit "Create" %>
</p>
<% end %>
</p>
哪个很棒,因为现在页面加载了,但是当我尝试保存时,我收到了这个错误:
在TransactionsController中创建Extracted source (around line #31):
29 respond_to do |format|
30 if @transaction.save
31 format.html { redirect_to @transaction, notice: 'Transaction was successfully created.' }
32 format.json { render :show, status: :created, location: @transaction }
33 else
34 format.html { render :new }
所以我不认为它实际上是在制作交易项目并将其放入数据库中。
我在这里缺少什么?