我在一个 View 上有一些复选框,我想在另一个 View 上进行评估,但我不明白它在做什么。
我读过帖子/博客,说明对 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/>
值
应该被索引吗? 0
, 1
?
所以我想要两个结果
1) 在 version.erb View 上显示从 index.erb View 中选择的选项。
所以它看起来像:-
Copy : Yes
Start : No
目前我有:-
# views/version.erb
<p>Copy : <%= params['update_params[0]'] %></p>
<p>Start : <%= params['update_params[1]'] %></p>
2) 评估传递给脚本的选项,使它们成为命令行选项,即 -c
、-l
所以我的“ Controller ”
# 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
最佳答案
也许您可以使用数组中的键而不是依赖于索引?例如:
<input type="checkbox" name="update_params[copy]" value="Copy" />Update the host<br/>
<input type="checkbox" name="update_params[start]" value="Start" />Start the software<br/>
那么,你可以做类似的事情:
params[:update_params][:copy]
关于ruby-on-rails - 获取复选框的值 [Ruby/Sinatra(Rails)],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7188760/