【发布时间】:2013-10-22 18:28:16
【问题描述】:
我刚开始使用 Web 编程,并为此选择了 Sinatra。我坚持将单选按钮的值从 erb 传递给 post 方法。但是,我可以对文本输入字段执行相同的操作,但无法对单选按钮实现相同的操作。
erb 中的单选按钮来自使用 get 方法中的实例变量创建的数组。请帮助解决我所缺少的。
这是我的 sn-ps。
程序.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]}'")。
【问题讨论】:
标签: ruby forms radio-button sinatra erb