Ruby on rails Rails 4应用程序中嵌套模型的表单存在问题
好吧,过去几个小时我一直在努力想办法解决这个问题。我有一个rails电子商务应用程序。。。商店列出产品对象,当您将产品添加到购物车中时,会通过创建一个line_item对象来添加另一个对象。当您准备结帐时,购物车中的商品将成为订单。在这一点上,我试图允许客户向每一行项目提供一个页面url,即产品/服务将在外部网站上使用的[通过文本字段的表单]。为了实现这一点,我创建了一个新模型,名为Page\u url,它属于订单。这就是我一直失败的地方,我不断收到控制器错误未定义的方法“page_url”: 表格如下:Ruby on rails Rails 4应用程序中嵌套模型的表单存在问题,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,好吧,过去几个小时我一直在努力想办法解决这个问题。我有一个rails电子商务应用程序。。。商店列出产品对象,当您将产品添加到购物车中时,会通过创建一个line_item对象来添加另一个对象。当您准备结帐时,购物车中的商品将成为订单。在这一点上,我试图允许客户向每一行项目提供一个页面url,即产品/服务将在外部网站上使用的[通过文本字段的表单]。为了实现这一点,我创建了一个新模型,名为Page\u url,它属于订单。这就是我一直失败的地方,我不断收到控制器错误未定义的方法“page_url”:
<%= form_for(@order) do |f| %>
......
<% @items.each do |item| %>
<td><a> Provide the URL the <%= item.product.title %> will be added to</a></td>
<div class="field">
<%= f.fields_for @order, :page_url do |q| -%>
<td> <%= q.label :page_url %>
<%= q.text_field :page_url, size: 80 %>
</td>
<% end %>
</div>
<% end %>
</div>
<div class="actions">
<%= f.submit t('.submit') %>
</div>
<% end %>
Pages_url控制器是Rails 4生成的标准控制器
Order.rb:
class Order < ActiveRecord::Base
has_many :line_items, dependent: :destroy
has_many :page_urls, dependent: :destroy
# ...
validates :name, :address, :email, presence: true
validates :pay_type, inclusion: PAYMENT_TYPES
accepts_nested_attributes_for :page_urls
Page_url.rb:
class PageUrl < ActiveRecord::Base
belongs_to :order
非常感谢您的帮助,谢谢。我通常使用简单的表格来创建关联,效果非常好 这样你就能做到 他们有很好的文档,请检查这里:在Associations下 还有一点: 在订单模型中,我将指定类
has_many :page_urls, dependent: :destroy, :class_name => PageUrl
要使用简单表单创建嵌套表单,请参见:
希望这有帮助 工作得很有魅力。你是个救生员!
class PageUrl < ActiveRecord::Base
belongs_to :order
has_many :page_urls, dependent: :destroy, :class_name => PageUrl