Rails:在两个表单之间拆分表

时间:2012-07-03 19:24:43

标签: ruby-on-rails

我正在开发的Rails应用程序有两个核心部分:用户和组。用户通过表单注册,并添加到users表中。

groups表有四个主要列:name,title,description和membership。

分组分两步处理。

  1. 步骤1:管理员创建组(名称,标题,描述)。
  2. 第2步:成员资格是一个JSON字段。管理员需要使用第二个表单登录,并添加/编辑该JSON结构的字段:组所有者,组管理员,成员,解析/重新解析为JSON并更新组表。
  3. 用户注册和组创建表单工作正常。问题是第二种形式:创建组的成员资格。我不确定如何继续。

    我所做的是创建链接和路由以从组中正确选择,并通过在“显示”页面上添加其他路径和链接来生成具有正确参数的REST调用。我确认墨水是正确的,当我将鼠标悬停在墨水上时,我看到http://myapp.com/groups/3/admin(3是组表中的正确ID)。

    我的groups_controller.rb中的方法类似于以下内容:

      def show
        @group = Group.find(params[:id])
        respond_to do |format|
        format.html # show.html.erb
        format.json { render json: @group }
      end
    end
    

    我创建了groups_admin.html.erb并将其放在views / groups文件夹中。它具有构造一组下拉框的逻辑,允许管理员从用户列表中选择以填充组成员资格(函数在组帮助程序中)。

    我不知道的是如何在groups_admin.html.erb中使用表单声明等完成它以及添加到groups_controller.rb以使UPDATE到该特定行的内容(在我返回之后)将字段转换为JSON)。到目前为止,这是我添加到它的内容

    def admins
    end
    

    更改组表架构并创建其他groups_admins,groups_owners,groups_members表不是一个选项。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

你正在寻找协会。在这种情况下,您可能需要一个组has_many用户和一个用户has_many组。或者,如果您希望用户能够在多个组中,那么您正在寻找has_and_belongs_to_many关联。你可以在这里阅读:http://guides.rubyonrails.org/association_basics.html