【问题标题】:Rails: How do I create an item in model/controller A from a view in model/controller B?Rails:如何从模型/控制器 B 中的视图在模型/控制器 A 中创建项目?
【发布时间】:2014-03-22 10:34:38
【问题描述】:

我正在使用 Ruby on Rails 开发我的第一个应用程序,我一直在尝试在我的一个模型的“显示”视图上添加一个链接,该模型克隆了一些对象自己的属性以在不同的型号。

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

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

模型 B 包含属于每个用户的个人股票列表,还包含符号和价格(从模型 A 复制)和个人描述。

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

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

任何想法都无需粘贴到我的代码中?

【问题讨论】:

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


    【解决方案1】:

    您的部分中可能有类似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 %>
    

    【讨论】:

    • 在 ' PersonalStock.new(:stock => stock) %>' 到 ' PersonalStock.new(:symbol => @stock.symbol) %>' 非常感谢!
    猜你喜欢
    • 2018-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    相关资源
    最近更新 更多