kilik52 2008-12-11 23:56
浏览 192
已采纳

这样的需求在rails中该怎么弄?

我想创建一个people表,里面有name等基础属性。另外还想记录该Person曾经就读的学校。一个人可以添加多个学校。例如:
name: AAA, school: school_1, school: school_2, ......
我想过用join表,但是这样school的信息就不在people表里面了。
请问想用restful来满足这样的需求应该怎么弄?谢谢!

[b]问题补充:[/b]
谢谢foxgs的回答。model方面没有问题了。但是在View和Controller上我不知道怎么弄。比如:
scaffold person
scaffold school
又弄了一个model person_school, 里面有person_id和school_id,还有些addtional的字段,比如major_in:string。
按照网上查到的方法,在Person类里面写了
[code="ruby"]
has_many :person_schools
has_many :schools, :through => person_schools
[/code]
在School类里面也类似地写了。

这个是model方面,但是如果我在Person的new.html.erb里面想让用户输入自己就读的学校,并且输入自己的专业,应该怎么写呢。
我用
[code="ruby"]
<%= f.text_field :person_schools.major_in %>
[/code]
显示错误。。。

而且在Controller里面怎么让@person.save正确?
[b]问题补充:[/b]
已经解决,对我有最大帮助的是foxgst,分数就给你了。
另外谢谢yangtao309的回答。

  • 写回答

2条回答 默认 最新

  • iteye_10592 2008-12-12 09:35
    关注

    这是典型的多对多的问题,你搜索一下rails many-to-many。

    另《Web开发敏捷之道》一书中有详细说明。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)