Ruby on Rails HTML-Table生成器

chr*_*mer 4 ruby rubygems ruby-on-rails ruby-on-rails-plugins

我正在寻找一个好的RoR表生成器(或一个简单的解决方案),它可以在一个表中给我一个体面的记录视图(unstylized但适当严格的XHTML).

假设我有一个用户模型和一个地址模型: - 用户可以有多个地址 - 一个地址也链接为"primary_address"

假设我的用户控制器中有以下内容

def index
   @users = User.find(:all,:order => 'id ASC')
   @headers = ["id","First","Last","City","State"]
   @fields = [:id,:firstname,:lastname,:primary_address.city,:primary_address.state]
end
Run Code Online (Sandbox Code Playgroud)

我不知道字段数组是否可行,但我认为它可以解决问题.有没有人知道一个好的宝石,插件或技术,所以我不必在我的所有表视图上"重复自己"?

Nin*_*nad 7

@ChrisH:使用两个数组表示表将不会提供更多控制.我建议如下:table_helper

erb片段 -

collection_table(@posts, {}, :id => 'posts', :class => 'summary') do |header, body|
  header.column :title
  header.column :category
  header.column :author
  header.column :publish_date, 'Date< br \>Published'
  header.column :num_comments, '# Comments'
  header.column :num_trackbacks, '# Trackbacks'

  body.alternate = true
  body.build do |row, post, index|
    row.category       post.category.name
    row.author         post.author.name
    row.publish_date   time_ago_in_words(post.published_on)
    row.num_comments   post.comments.empty? ? '-' : post.comments.size
    row.num_trackbacks post.trackbacks.empty? ? '-' : post.trackbacks.size
  end
end
Run Code Online (Sandbox Code Playgroud)