LINUX.ORG.RU

Не получается вывести массив в Sinatra используя HAML

 , ,


0

2

Всем привет, есть такой код

def get_damaged_array()
  db = Mysql.connect('localhost','root','password','database')
  results = db.query("SELECT * FROM table WHERE state='damaged'")
  db.close
  return results
end

@damaged=get_damaged_array()

если делаю так

@damaged.each do |w|
  p w
end

получаю много записей типа

[«name2», «name1», «damaged»]
[«name3», «name4», «damaged»]

подскажите как эти данные правильно вывести на страницу используя haml + sinatra?

Перемещено leave из development

★★★

просьба перенести в web-development

trofk ★★★ ()

эээ, ну как-то так:

%table
  %tbody
    - @damaged.each do |row|
      %tr
        - row.each do |column|
          %td= column
kelyar ★★★★★ ()
  db = Mysql.connect('localhost','root','password','database')
  results = db.query("SELECT * FROM table WHERE state='damaged'")
  db.close

брр, что ж ты в самом деле, как пэхапешник какой-то.

kelyar ★★★★★ ()
Ответ на: комментарий от kelyar

хм... вываливается с ошибкой block in singleton class на

- @damaged.each do |row|
Отступы вроде верно расставил...

Я программист второй день. Руби вижу уже 4ре часа
Надесюь со временем будет лучше.

trofk ★★★ ()
Ответ на: комментарий от kelyar

Похоже понял в чем проблема
я не передавал haml`у переменные вот так в get у sinatra

haml :index, :locals => { :damaged => damaged }
trofk ★★★ ()
Ответ на: комментарий от trofk

Ты какую-то чушь сказал. Я последний раз синатру полгода назад видел, но там определенно не было таких проблем.

get '/mamke/privet' do
  @damaged = get_damaged_array
  haml :index
end

Примерно так это должно выглядеть.

Кроме того, найди себе нормальную ORM, sequel подойдет. И прочитай стайлгайд, пишешь безобразно: https://github.com/bbatsov/ruby-style-guide

S-Mage ★★ ()
Последнее исправление: S-Mage (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.