Форум программистов, компьютерный форум, киберфорум
Ruby
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
4 / 4 / 3
Регистрация: 11.09.2011
Сообщений: 146

Запуск выполнения *.rg из html

20.06.2013, 21:39. Показов 1271. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброй ночи.

Имею след. код :

Ruby
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/env ruby
 
require "cgi"
require "rubygems"
 
cgi = CGI.new("html4")
String hello = cgi['FirstName'] + " " +cgi['LastName']
 
cgi.out{
   cgi.html{
      cgi.head{ "\n"+cgi.title{"This Is a Test"} } +
      cgi.body{ "\n"+
         cgi.form("METHOD" => "POST", "ENCTYPE" => "/usr/lib/cgi-bin/mysql.rb"){ "\n"+
 
            cgi.hr +
            cgi.h1 { "A Form: " } + "\n"+ 
            cgi.h2 { "Hello " + hello } + "\n"+
            cgi.h3 { "Enter the Institute:" } + "\n" +
            cgi.input("get_inst") +"\n"+
            cgi.h3 { "Enter the course:" } + "\n" +
            cgi.input("get_course") +"\n"+
            cgi.br + "\n" +
            cgi.h3 { "Enter info about you:" } + "\n" +      
            cgi.textarea("get_text") +"\n"+
            cgi.br +
            cgi.submit
         }
      }
   }
}
И есть mysql.rb

Ruby
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/env ruby
 
require "rubygems"
require "mysql"
 
cgi = CGI.new
String hello = cgi['get_inst']
String hello1 = cgi['get_course']
String hello2 = cgi['get_text']
Соединяемся с базой данных
db = Mysql.connect("localhost","user","pass","trash")
 
db.query("INSERT INTO main(name,course,about) VALUES('hello world','22','hello')") 
 
 
#end
#Закрываем соединение
db.close
#end
Хочу по нажатии кнопки "Отправить запрос" запустить mysql.rb c переданными параметрами.
Но по нажатию кнопки ни чего не происходит.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.06.2013, 21:39
Ответы с готовыми решениями:

Запуск выполнения из пакета
Всем доброго времени суток. У меня такая проблема. Разработал проект в Eclipse, который берёт данные из некоторой папки data в...

Остановка и запуск выполнения программы.
Подскажите пожалуйста, как сделать, чтобы при нажатии на клавишу(Pause/Break) выполнение программы остановилось, а при повторном нажатии...

Запуск выполнения функции loop с начала
Добрый вечер. Есть ли возможность из произвольного места loop'a пропустить оставшийся в данной итерации код? Пример кода void...

5
 Аватар для MpaKus
227 / 225 / 23
Регистрация: 30.01.2013
Сообщений: 720
21.06.2013, 00:16
Какой-то ад CGI в 21-ом веке... выглядит ужасно...

Подвох скорее всего в этом "/usr/lib/cgi-bin/mysql.rb" не думаю, что у вас cgi скрипт там выведен.

ps. и чтобы не писать такой ужасный dsl код для html советую открыть для себя ERB
0
4 / 4 / 3
Регистрация: 11.09.2011
Сообщений: 146
21.06.2013, 19:39  [ТС]
ERB или HAML не важно. мое знакомство с ruby не выходит за рамки этой задачи .
Приведите пример , (erb or haml) формы , чтоб по нажатию кнопочки передавались параметры и выполнялся соотв. код.
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
23.06.2013, 18:30
Цитата Сообщение от scofielcl Посмотреть сообщение
Приведите пример , (erb or haml) формы , чтоб по нажатию кнопочки передавались параметры и выполнялся соотв. код.
Вот пример с Sinatra и Slim (код добавления в базу данных засунь в post "/" ...). Требует установки гемов: sinatra, sinatra-contrib, slim.

Ruby
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# -*- coding: utf-8 -*-
require 'sinatra'
require 'sinatra/content_for'
require 'slim'
 
helpers do
  def title(pagetitle)
    content_for(:title) { pagetitle }
  end
  def nl2br(text)
    text.gsub "\n", "<br />"
  end
  def h(text)
    Rack::Utils.escape_html(text)
  end
end
 
get "/" do
  first_name = params[:first_name] || "John"
  last_name = params[:last_name] || "Doe"
  @name = "#{first_name} #{last_name}"
  slim :index
end
 
post "/" do
  # Здесь ты выполняешь необходимые действия
  @institute = params[:institute]
  @course = params[:course]
  @info = params[:info]
  slim :posted
end
 
__END__
 
@@layout
doctype html
html
  head
    title = content_for?(:title) ? yield_content(:title) : "My Super App"
  body
    == yield
 
css:
  table, th, td {
    border: 1px solid black;
  }
 
  table {
    border-collapse: collapse;
  }
 
  label {
    margin-right: 5px;
    width: 200px;
    display: inline-block;
    text-align: right;
    padding-right: 5px;
  }
 
  input, textarea {
    width: 300px;
    display: inline-block;
  }
 
  textarea {
    vertical-align: top;
    resize: vertical;
    min-height: 90px;
  }
 
  input[type=submit] {
    width: 100px;
    margin-left: 205px;
  }
 
@@index
- title "This Is a Test"
form method="POST" action=url('/')
  h1 A form:
  h2 Hello #{@name}
  p
    label for="institute" Institute
    input type="text" name="institute" placeholder=="Institute name&hellip;" required=true
  p
    label for="course" Course
    input type="text" name="course" placeholder=="Your course&hellip;" required=true
  p
    label for="info" Info about you
    textarea name="info" placeholder=="Some info about you&hellip;"
  p: input type="submit" name="submit"
 
 
@@posted
a href=url('/') Return to the form
- title "Your posted data"
table
  thead
    tr
      th Param
      th Value
  tbody
    tr
      td Insitute
      td = @institute
    tr
      td Course
      td = @course
    tr
      td Info about you
      td == nl2br h(@info)
Добавлено через 4 минуты
Цитата Сообщение от MpaKus Посмотреть сообщение
Подвох скорее всего в этом "/usr/lib/cgi-bin/mysql.rb" не думаю, что у вас cgi скрипт там выведен.
А разве подвох не в том, что ТС вместо action для формы указал enctype?
0
 Аватар для MpaKus
227 / 225 / 23
Регистрация: 30.01.2013
Сообщений: 720
25.06.2013, 14:33
и это тоже, но все же путь /usr/lib/.... думаю вряд ли все равно открыт веб-сервером, как-то он выглядит как системный путь, а не URI
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
25.06.2013, 16:41
@MpaKus, это да, мне просто «enctype» в глаза бросился.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.06.2013, 16:41
Помогаю со студенческими работами здесь

Запуск нескольких Task-ов и ожидание их выполнения
Всем доброго времени суток. Мне необходимо отправлять сразу несколько запросов на линки какого-либо сайта. Решил я для этго использовать...

Запуск Task после его выполнения
Здравствуйте, столкнулся с проблемой, которую всё не как не могу решить: Есть кнопка, при нажатии которой вызывается метод: ...

Запуск, остановка и возобновление выполнения скрипта
Добрый день. Есть главный модуль Lua - main.lua. Есть второй модуль - mod.lua, в нём находиться только одна процедура - mod(). В...

Запуск/продолжение выполнения макроса по изменению ячейки
Доброго времени суток! Изучаю VBA самостоятельно ввиду необходимости использования его на работе. Подскажите пожалуйста есть ли...

Запуск консольного приложения и результат его выполнения
Приветствую всех. Столкнулся со следующей проблемой. Есть консольное приложение, выполняется через командную строку, возвращает текст....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru