嗨,我是新来的铁轨上的红宝石。
我有两个表Lov_names
和lov_values
。
我的Lov名称表如下: -
id serial NOT NULL,
name character varying(255) NOT NULL,
description character varying(255),
deleted integer NOT NULL DEFAULT 0,
CONSTRAINT lov_names_pkey PRIMARY KEY (id)
我的Lov值表如下: -
id serial NOT NULL,
lov_name_id integer,
lov_value character varying(255) NOT NULL,
sequence integer,
deleted integer NOT NULL DEFAULT 0,
CONSTRAINT lov_values_pkey PRIMARY KEY (id)
从上面可以看出,lov值引用了lov名称
我使用脚手架为他们创建了视图。
lov名称的视图是: -
<% @lov_names.each do |c| %>
<tr>
<td><%= link_to c.id, {:action => 'show', :id => c.id} %> </td>
<td><%= c.name %> </td>
<td><%= c.description %> </td>
<td><%= link_to 'Edit', {:action => 'edit', :id => c.id} %> </td>
<td><%= link_to 'Delete', {:action => 'delete', :id => c.id},
:data => { :confirm => "Are you sure you want to delete this value?" } %></td>
</tr>
<% end %>
</table>
lov值的视图如下: -
<% @lov_values.each do |c| %>
<tr>
<td><%= link_to c.id, {:action => 'show', :id => c.id} %> </td>
<td><%= c.lov_name_id %> </td>
<td><%= c.lov_value %> </td>
<td><%= c.sequence %> </td>
<td><%= link_to 'Edit', {:action => 'edit', :id => c.id} %> </td>
<td><%= link_to 'Delete', {:action => 'delete', :id => c.id},
:data => { :confirm => "Are you sure you want to delete this value?" } %></td>
</tr>
<% end %>
</table>
现在我面临的问题是,我想要链接两个视图,即当我点击Lov names
中的ID时,我应该能够生成相应的lov value for that id
。此外,我应该能够从我创建的视图中添加,编辑和删除该页面中的Lov values
。
有人可以指导我这个。
答案 0 :(得分:2)
您可以在两个表之间创建关联,通过这种方式,您可以轻松访问另一个表的记录并进行所需的任何修改。
例如,如果lov_value belongs_to lov_name表的意思是,你应该在lov_value表中拥有lov_name的foreign_key。
查看有关如何创建关联的文档。
http://guides.rubyonrails.org/association_basics.html
另外,看一下这个帖子。
ruby on rails associations newbie
一旦你明白了,那么你可以通过点击lov_name_id轻松访问lov_value。
将其他视图设为部分视图,以便您可以重复使用视图
希望它有所帮助。