Rails:如何从模型/控制器B中的视图在模型/控制器A中创建项目?

时间:2014-02-21 04:47:53

标签: ruby-on-rails ruby ruby-on-rails-4

我正在开发我在Ruby on Rails上的第一个应用程序,并且我试图在我的一个模型的“show”视图中添加一个链接,该视图克隆了一些对象自己的属性来创建一个新对象。不同的模特。

例如,假设您想让用户从可用股票列表中创建自己的个人股票投资组合条目,并通过当前股票价格和股票代码符号。

模型A包含符号和价格的可用股票清单。

模型B包含属于每个用户的个人股票清单,还包括符号和价格(从模型A克隆)和个人描述。

我试图让人们点击模型A的SHOW视图上的按钮,创建模型B的新实例,从当前A复制符号和价格以创建新的B.

我尝试将SHOW视图中的个人股票的部分表格放入可用股票,但收到此错误“表格​​中的第一个参数不能包含nil或为空。”

无需粘贴我的代码即可获得任何想法?

1 个答案:

答案 0 :(得分:0)

你的部分内容可能有form_for(@personal_stock)。将其更改为form_for(personal_stock),然后当您在股票列表中呈现部分时使用:

<%= render 'personal_stock/form', :personal_stock => PersonalStock.new(:stock => stock) %>

您还需要修改PersonalStocksController的新视图和编辑视图中的渲染:

<%= render 'form', :personal_stock => @personal_stock %>