Исследуйте $^O
переменная, которая будет содержать название операционной системы:
print "$^O\n";
, Который печатает linux
на Linux и MSWin32
в Windows.
можно также обратиться к этой переменной именем $OSNAME
, если Вы используете английский язык модуль:
use English qw' -no_match_vars ';
print "$OSNAME\n";
Согласно [1 115] perlport, $^O
будет darwin
на Mac OS X.
можно также использовать Конфигурация базовый модуль, который может предоставить ту же информацию (и намного больше):
use Config;
print "$Config{osname}\n";
print "$Config{archname}\n";
, Который на моей печати машины Ubuntu:
linux
i486-linux-gnu-thread-multi
Примечание, что эта информация основана на системе, что Perl был , создало , который является не обязательно, системный Perl в настоящее время работает (то же верно для [1 118] $^O
и $OSNAME
); ОС не будет, вероятно, отличаться, но некоторая информация, как имя архитектуры, может быть.
HTML фактически не позволяет формам быть вложенными. Некоторые браузеры это делают, но в других вы увидите сумасшедшее поведение. HTML, который вы показываете - необработанный вывод, или вычисленный DOM из firebug?
Предпочтительный способ справиться с этим случаем - переместить ваш button_to
за пределы другой формы. Если вам нравятся параметры только для JS, вы можете использовать link_to: method =>: post
и оформить ссылку так, чтобы она выглядела как кнопка.
В конце использовал
:name => 'otheraction'
в контроллере, затем проверил, есть ли
params[:commit] or params[:otheraction]
в хэше params