【问题标题】:Adding new action for another model inside a form为表单内的另一个模型添加新操作
【发布时间】:2017-07-26 04:37:45
【问题描述】:

在我的应用程序中,我有模型 campaignPublisher

class Campaign < ActiveRecord::Base
  belongs_to :publisher

class Publisher < ActiveRecord::Base
  has_many :campaigns

在我的campaigns#_form 部分中,当我添加campaign 时,我需要关联/选择publisher

我的广告系列#_form:

= simple_form_for(@campaign) do |f|
  = f.association :publisher
  // ... Other parts of the form

目前,当我添加campaign 时,我需要先转到publishers#new 和一个新的publisher,然后回到我的campaigns#_form 并创建campaign 并关联/选择一个@ 987654333@.

我经常忘记在添加campaign之前先添加publisher,这会导致一些问题。

是否可以在我的campaigns#_form 中添加publisher(如果我还没有添加发布者) 在创建之前无需先添加publisher campaign.

如果可能,如何选择这个新的publisher 来自:= f.association :publisher

【问题讨论】:

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


    【解决方案1】:

    我不确定你想在这里表达什么。

    我经常忘记在添加广告系列之前先添加发布商,这会导致一些问题。

    如果您以上述方式构建应用程序,则应先添加发布者,然后才应为该发布者创建广告系列,因为campaign belongs_to a publisher

    您应该以这样一种方式创建您的应用程序流,即如果不将其与发布商关联就无法创建广告系列。

    【讨论】:

    • 应用程序中已经添加了许多发布者。假设我已经拥有 Publisher-1Publisher-2Publisher-3。当我想添加一个新的campaign 时,我已经有了那些publishers,但是我想为尚未添加的Publisher-4 添加campaign。那是有问题的,而不是已经添加并且可以选择的publisher
    • 那么,在这种情况下,您应该限制用户仅将广告系列添加到已存在的发布商。例如:在创建广告系列时,您可以提供一个包含所有现有发布商的下拉菜单并使其成为必填项
    猜你喜欢
    • 2017-05-24
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-13
    • 2014-03-13
    • 1970-01-01
    相关资源
    最近更新 更多