У меня есть несколько флажков в одном представлении, которые я хочу оценить в другом, но я не понимаю, что он делает.
Я прочитал посты / блоги, в которых изложены различные подходы к name
: -
update_params[] # array
update_params[0], update_params[1] # known indexed array
update_params0, update_params1 # differently named
Итак, первое, которое кажется наиболее распространенным: -
# views/index.erb
<input type="checkbox" name="update_params[]" value="Copy" />Update the host<br/>
<input type="checkbox" name="update_params[]" value="Start" />Start the software<br/>
Должен ли индексироваться value
?0
, 1
?
Итак, я хочу получить два результата
1) Отобразить параметры, выбранные в представлении index.erb, в представлении version.erb.
Чтобы это выглядело примерно так: -
Copy : Yes
Start : No
В настоящее время у меня есть: -
# views/version.erb
<p>Copy : <%= params['update_params[0]'] %></p>
<p>Start : <%= params['update_params[1]'] %></p>
2) проверить параметры для передачи в сценарий, чтобы они стали параметрами командной строки, т.е.-c
, -l
Так что мой "контроллер"
# update.rb
helpers do
def run_update(version, host, params)
command = "./update.sh #{params} #{host}" # -c -l
@ok = system( command )
end
end
post '/version' do
run_update(params[:version_list], params[:host], params[:update_params])
erb :version
end