class Qwer::Translater

Constants

DEFAULT_COL_NUM
INIT_CONTER

Public Instance Methods

table_data(table_head, dname, opt, datas, *args) click to toggle source
# File lib/qwer/translater.rb, line 17
def table_data(table_head, dname, opt, datas, *args)
  html_str = "<table class='table table-striped table-hover' id='editable-sample'><thead><tr><th>#</th>"
  table_head.reject { |key, value| html_str << "<th>#{value}</th>" }
  html_str << "<th>操作</th></tr></thead><tbody>"
  datas.each_with_index do |data, index|
    tr_html = "<tr>"
    tr_html << "<td>#{sequence index}</td>"
    # 数据内容
    table_head.reject { |key, value| tr_html << "<td>#{send_keys data, key}</td>" }
    # 操作
    tr_html << "<td>"
    opt.reject { |key, value| tr_html << opt_btns(key, value, dname, data) }
    tr_html << "</td>"
    tr_html << "</tr>"
    html_str << tr_html
  end
  html_str << "</tbody></table>"
end

Private Instance Methods

delete?(opt) click to toggle source

判断是否是删除方法

# File lib/qwer/translater.rb, line 50
def delete?(opt)
  opt == "del"
end
edit?(opt) click to toggle source

判断是否是编辑方法

# File lib/qwer/translater.rb, line 44
def edit?(opt)
  opt == "edit"

end
opt_btns(key, value, dname, data) click to toggle source

操作列

# File lib/qwer/translater.rb, line 61
def opt_btns key, value, dname, data
  if edit? key.to_s
    return "<a class='#{value[:css] ||= 'label label-success'}' href='/#{dname}/#{data.id.to_s}/edit'>#{value[:name] ||= '编辑'}</a>"
  elsif delete? key.to_s
    return "<a data-confirm='确认要删除这条数据吗?' class='#{value[:css] ||= 'label label-danger'}' rel='nofollow' data-method='delete' href='/#{dname}/#{data.id.to_s}'>#{ value[:name] ||= '删除'}</a>"
  else
    return value.gsub('??', '??'=>data.id) if value["??"].present?
  end
end
send_keys(data, key) click to toggle source

获取给定的params的key的值

# File lib/qwer/translater.rb, line 55
def send_keys data, key
  keys = key.to_s.split '.'
  keys.inject(data){|result, item| result.send item if result.present? }
end
sequence(index) click to toggle source

设置数据表格序号

# File lib/qwer/translater.rb, line 39
def sequence(index)
  (@page.to_i - 1) * @page_size.to_i + index + 1
end