0

我是网络开发的新手。我现在要使用 rails 3 制作应用程序。我无法在索引页面中显示整个表格,因为列太多。我需要一种快速浏览整个数据库的方法。

我有下表:

      create_table "fields", :force => true do |t|
        t.string   "basin_name"
        t.string   "basin_type"
        t.string   "area"
        t.string   "prospect_name"
        t.string   "type_of_data_shore"
        t.string   "type_of_processing"
        t.string   "processing_agency_name"
        t.string   "seismic_investigation_number"
        t.string   "field_season"
        t.string   "block_name"
        t.string   "block_type"
        t.string   "sps_format"
        t.string   "input_media"
        t.string   "input_data_location"
        t.integer  "group_interval"
        t.integer  "shot_interval"
        t.string   "active_channels"
        t.decimal  "fold"
        t.decimal  "bin_size"
        t.string   "data_stage"
        t.string   "output_format"
        t.string   "output_media"
        t.string   "output_location"
        t.integer  "volume_of_data_size"
        t.string   "volume_of_data_dimensions"
        t.string   "volume_of_data_type"
        t.date     "date_of_start_of_processing"
        t.date     "date_of_completion_of_processing"
        t.text     "remarks"
        t.text     "problems_faced_and_solutions"
        t.text     "highlights_of_processing"
        t.datetime "created_at",                       :null => false
        t.datetime "updated_at",                       :null => false
        t.integer  "custom_id"
      end

是否可以仅使用左右箭头键从一个字段的“显示”操作导航到另一个字段?并且列应该基于“custom_id”列出现(我也不知道javascript:()

还是有更好的方法通过任何宝石来做到这一点?

谢谢你。

4

1 回答 1

0

如果我理解得很好,你只需要这个来显示动作,同时只显示一条记录。

如果是这样,您需要在显示操作中呈现一个大的 html,但一次只显示一小部分页面,并且在导航时,用户不应向服务器发出新请求。

<div id="field">
  <div id="field_basin_name">..basin_name..</div>
  <div id="field_basin_type" style="display:hidden">..basin_type..</div>
  <div id="field_area" style="display:hidden">..area</div>
  ..
</div>

现在你需要一些 javascript,你需要检查当用户按右或左时显示的部分,隐藏显示的部分并显示相关的部分。

我会按照这个逻辑去。它不是真正的rails问题,它主要是javascript / html。

在我看来,与 rails 相关的最重要的事情是使用 show action 只渲染一次大型 html。Rails 部分应该很简单。否则会太复杂。

一旦你弄清楚如何处理这个问题,你会发现很多你可以使用的 css / js 化妆品。

编辑

如果这有帮助,您可以使用 attributes 方法迭代记录的列

<% object.attributes.each do |attribute| %>
  <div id="field_<%= attribute_name %>">..</div>
<% end %>
于 2012-07-07T21:28:15.307 回答