我是网络开发的新手。我现在要使用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
无论如何只使用左右箭头键从一个字段的“show”操作导航到另一个字段?并且列应该基于“custom_id”列出现(我不知道javascript :()
还是通过任何宝石有更好的方法吗?
谢谢。答案 0 :(得分:0)
如果我很好理解,你只需要这个用于show动作,同时只显示一条记录。
如果是这样,你需要在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。
在我看来,与rails相关的最重要的事情是使用show action仅渲染一次大型html。 Rails部分应该非常简单。否则会太复杂。
一旦你弄清楚如何处理这个,你可以找到很多可以使用的css / js化妆品。
修改
如果这有帮助,您可以使用属性方法
迭代记录的列<% object.attributes.each do |attribute| %>
<div id="field_<%= attribute_name %>">..</div>
<% end %>