我是编码的新手(从未参加过CS课程并对MVC架构有非常极简的理解)并且正在开发一个测试项目来学习它:-)我想设置一些表格表:
表1:
表1 ID |名称| Attribute_1 | Attribute_2 | Attribute_3 |等等
1 | Blah | attribute 1 | attribute 2 | attribute 3 |
表2:
表2 ID |技巧|
1 | nun_chucks |
2 | bow |
3 | arrow |
表3:
表_3 ID | Primary_1 ID | Primary_2 ID |
1 | 1 | 1 |
2 | 1 | 2 |
3 | 1 | 3 |
然后能够可视化数据,使其如下所示:
姓名|双节棍,弓,箭|属性1 |属性2 |属性3 |
我使用Scaffold为表1和表创建了MVC。 2,每个都有#page。我不知道如何将它们组合起来创建表3,然后按照我的要求显示数据。
谢谢!
答案 0 :(得分:1)
这是您正在做的事情的一个很好的参考:http://guides.rubyonrails.org/association_basics.html
答案 1 :(得分:0)
INNER JOIN就是您想要的数据库操作。
查看数据库服务器手册并阅读它。
本质上,它需要两个表,通过给定列连接它们(例如,Table_2.ID和Table_3.ID),并吐出两个连接表的摘要,从而省略表中不匹配的列。
答案 2 :(得分:0)
举个例子, 以及Rails 3中的以下控制器
class SomeController < ActionController
def show
@table_1 = Table1.find(params[:id],:include => :table2)
# Table1 and Table2 are your models
# where table2 would be your has_many_and_belongs_to_many assoc in Table1
end
end
你可以在show.html.erb中写一下
<%= @table_1.name %>
<%= @table_1.table_2.map(&:skill) %>
<%= @table_1.attribute_1 %>
<%= @table_1.attribute_2 %>
<%= @table_1.attribute_3 %>