Ruby on Rails在不同控制器内的新实例

时间:2014-09-07 22:33:59

标签: ruby-on-rails controller ruby-on-rails-3.2

我确信这很容易,但我无法弄清楚

我基本上有两个脚手架:信封和交易。 我可以进入交易视图并像平常一样进行新交易,但我想要的是能够在信封的显示视图中进行新交易。

这可能吗?

我尝试在信封节目中渲染交易表单。无法让它工作。现在我正在尝试链接到事务控制器,但我无法使其工作。

<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中创建 NoMethodError #TransactionsController的未定义方法`transaction_url':0x3c35e38

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 }

所以我不认为它实际上是在制作交易项目并将其放入数据库中。

我在这里缺少什么?

0 个答案:

没有答案