【问题标题】:Complex Forms in rails (has_and_belongs_to_many)rails 中的复杂形式 (has_and_belongs_to_many)
【发布时间】:2023-04-04 02:19:01
【问题描述】:

现在,我正在实际构建一个项目管理应用程序,但我有点卡在应该构建此表单的方式上。在添加项目时,我想选择将包含在项目中的客户。下面是一些有趣的代码:

项目模型 项目迁移 客户模型 客户迁移 Clients_Projects 迁移表

http://pastebin.com/280MjR8i

到目前为止,构建控制器/视图的最佳方法是什么,我有这个用于视图,但我不知道控制器应该采取什么措施 ->

http://pastebin.com/dHa8nAQZ

【问题讨论】:

    标签: ruby-on-rails ruby forms controller


    【解决方案1】:

    我会为此使用嵌套属性。查看 Ryan Bates 的 railscast http://railscasts.com/episodes/196-nested-model-form-part-1http://railscasts.com/episodes/197-nested-model-form-part-2

    您可以使用此方法为项目添加和删除客户端。对于大量客户端而言,使用复选框列表来选择客户端可能会出现问题。

    【讨论】:

    • 非常感谢,这些截屏视频救了我的命 :)
    【解决方案2】:

    在您的控制器中,您必须向.permit 指明 id 列表是一个数组:

    def client_params
      params[:client].permit(
        :name,
        :address,
        :phone,
        {:project_ids => []}
      ),
    end
    

    那么 Rails 魔法 会起作用。

    来源:https://coderwall.com/p/_1oejq

    【讨论】:

    • 太棒了!简单易行!
    • {} 不是必需的,至少在 rails 4 中 :project_ids => [] 有效
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-01
    • 1970-01-01
    • 2012-01-14
    • 1970-01-01
    相关资源
    最近更新 更多