2012-07-07 61 views
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無論是:()

或有通過任何寶石做的更好的辦法?

謝謝。

回答

0

如果我很明白,你只需要這個顯示動作,同時只顯示一條記錄。

如果是這樣,你需要在show動作中渲染一個大的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,您需要檢查當用戶按右或左時顯示哪個部分,隱藏顯示部分並顯示相關部分。

我會去那個邏輯。它不是一個真正的軌道問題,它主要是一個JavaScript/HTML。

在我看來,與軌道有關的最重要的事情是用show動作渲染大型HTML一次。 Rails部分應該非常簡單。否則它會太複雜。

一旦你找出如何處理這個問題,你可以找到很多你可以使用的css/js化妝品。

編輯

如果這會有所幫助,您可以遍歷您的記錄的列與屬性的方法

<% object.attributes.each do |attribute| %> 
    <div id="field_<%= attribute_name %>">..</div> 
<% end %> 
+0

感謝,而不是完整的答案,但讓我在正確的道路:) – viswa 2012-07-09 08:34:07

+0

如果幫助我很高興的。添加了一些額外的信息。 – 2012-07-09 08:51:48