Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 添加“的最佳方式”;合著者;Rails应用程序的功能?_Ruby On Rails_Arrays_Ruby On Rails 3_Attributes - Fatal编程技术网

Ruby on rails 添加“的最佳方式”;合著者;Rails应用程序的功能?

Ruby on rails 添加“的最佳方式”;合著者;Rails应用程序的功能?,ruby-on-rails,arrays,ruby-on-rails-3,attributes,Ruby On Rails,Arrays,Ruby On Rails 3,Attributes,我正在使用Rails3,我有一个名为User的模型,它编写了一个教学大纲。我想在教学大纲中添加“共同创作”的功能,这样原始作者就可以邀请其他用户对内容进行更改 以下哪些选项更有意义?(如果有更好的,请告诉我) 将author属性设置为数组属性,以便提纲.author将是包含其所有作者的数组 为教学大纲创建其他属性,例如合作作者1、合作作者2 如果第一个更有意义,您能否具体描述我如何将其设置为数组属性,并在以后插入其他作者 我考虑第二种选择的一个原因是,这样可以区分原作者和其他合著者,也许只有原作

我正在使用Rails3,我有一个名为User的模型,它编写了一个教学大纲。我想在教学大纲中添加“共同创作”的功能,这样原始作者就可以邀请其他用户对内容进行更改

以下哪些选项更有意义?(如果有更好的,请告诉我)

  • 将author属性设置为数组属性,以便提纲.author将是包含其所有作者的数组

  • 为教学大纲创建其他属性,例如合作作者1、合作作者2

  • 如果第一个更有意义,您能否具体描述我如何将其设置为数组属性,并在以后插入其他作者


    我考虑第二种选择的一个原因是,这样可以区分原作者和其他合著者,也许只有原作者可以删除教学大纲,而其他合著者的权限有限?

    您也可以这样制作链接表:

    autorhs_syllabus
    ----------------------
    id
    author_id integer
    syllabus_id integer
    original_author boolean 
    

    您需要规范化您的数据库。我认为你应该为作者和教学大纲建立单独的模型,并通过一种“有很多”的关系将它们联系起来。然后,链接表可以包含有关特定关系的附加信息,例如作者是否是原始作者

    谢谢你的回答!那么,我该如何检查某人是否是某个特定教学大纲的作者呢?我必须找到提纲.id,然后找到当前用户是否与作者的提纲.提纲在同一行?这在我脑子里是有道理的,但我现在正在放屁。。