J'ai quelques cases à cocher sur une vue, que je veux évaluer sur une autre, mais je ne comprends pas ce que ça fait.Récupérer des valeurs de cases à cocher [Ruby/Sinatra (Rails)]
J'ai lu les messages/blogs indiquant les différentes approches de la name
: -
update_params[] # array
update_params[0], update_params[1] # known indexed array
update_params0, update_params1 # differently named
va donc avec le premier qui semble le plus commun: -
# 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/>
Si le value
indexé ? 0
, 1
?
Je veux deux résultats
1) Afficher les options sélectionnées dans la vue index.erb sur la vue version.erb.
Alors qu'il ressemble à: -
Copy : Yes
Start : No
Actuellement, j'ai: -
# views/version.erb
<p>Copy : <%= params['update_params[0]'] %></p>
<p>Start : <%= params['update_params[1]'] %></p>
2) Eval les options pour passer à un script afin qu'ils deviennent des options de ligne de commande, à savoir -c
, -l
donc mon "contrôleur"
# 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