在Ruby on Rails项目中链接两个视图

时间:2013-03-15 04:30:32

标签: ruby-on-rails ruby-on-rails-3 html5 ruby-on-rails-3.2

嗨,我是新来的铁轨上的红宝石。

我有两个表Lov_nameslov_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} %> &nbsp;</td>
    <td><%= c.name %>&nbsp;</td>
    <td><%= c.description %>&nbsp;</td>
    <td><%= link_to 'Edit', {:action => 'edit', :id => c.id} %> &nbsp;</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} %> &nbsp;</td>
    <td><%= c.lov_name_id %>&nbsp;</td>
    <td><%= c.lov_value %>&nbsp;</td>
    <td><%= c.sequence %>&nbsp;</td>
    <td><%= link_to 'Edit', {:action => 'edit', :id => c.id} %> &nbsp;</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

有人可以指导我这个。

1 个答案:

答案 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。

将其他视图设为部分视图,以便您可以重复使用视图

希望它有所帮助。