0

私はWeb開発に不慣れです。今、レール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

私がよく理解していれば、これはショーアクションにのみ必要であり、1つのレコードのみを表示します。

その場合、show actionで大きな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アクションを使用して大きなhtmlを1回だけレンダリングすることです。レール部分は非常に単純である必要があります。そうでなければ、それはあまりにも複雑になります。

これを処理する方法を理解すると、使用できるcss/js化粧品をたくさん見つけることができます。

編集

これが役立つ場合は、属性メソッドを使用してレコードの列を反復処理できます

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