我刚开始使用 Web 编程并选择了 Sinatra。我坚持将单选按钮的值从 erb 传递给 post 方法。但是,我可以对文本输入字段执行相同的操作,但无法为单选按钮实现相同的操作。
erb 中的单选按钮来自使用 get 方法中的实例变量创建的数组。请帮助我缺少什么。
这是我的片段。
程序.rb
get '/stop' do
@output = []
IO.popen("lxc-ls --active").each do |line|
@output << line
end
erb :stop
end
post '/stop' do
@s = params[:tostop]
p @s + "HI"
#IO.popen("lxc-stop -n '#{params[:stop]}'")
end
停止.erb
<form action="/stop" method="post">
<% @output.each do |button| %>
<ul>
<li><input type="radio" name="tostop" value="<%= button %>"><%= button %></li>
</ul>
<% end %>
<input type="submit" name="stop" value="Stop!">
</form>
[更新]
不知何故,我可以传递单选按钮的值,并可以通过执行以下操作来查看该值。
程序.rb
post '/stop' do
"You Selected #{params[:tostop]}"
IO.popen("lxc-stop -n '#{params[:stop]}'")
end
但是,同样没有传递给 IO.popen("lxc-stop -n '#{params[:stop]}'")。