Ian*_*han 1 ruby forms ruby-on-rails sinatra
我在一个视图上有一些复选框,我想在另一个视图上评估,但我不明白它在做什么.
我已经阅读了帖子/博客,说明了不同的方法name: -
update_params[] # array
update_params[0], update_params[1] # known indexed array
update_params0, update_params1 # differently named
Run Code Online (Sandbox Code Playgroud)
所以第一个似乎是最常见的: -
# 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/>
Run Code Online (Sandbox Code Playgroud)
应该value编入索引吗?0,1?
所以我想要两个结果
1)显示从version.erb视图上的index.erb视图中选择的选项.
所以它看起来像: -
Copy : Yes
Start : No
Run Code Online (Sandbox Code Playgroud)
目前我有: -
# views/version.erb
<p>Copy : <%= params['update_params[0]'] %></p>
<p>Start : <%= params['update_params[1]'] %></p>
Run Code Online (Sandbox Code Playgroud)
2)EVAL选项,来传递给脚本,使得它们成为命令行选项,即-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
Run Code Online (Sandbox Code Playgroud)
也许不是依靠索引,你可以使用数组中的键?例如:
<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/>
Run Code Online (Sandbox Code Playgroud)
那么,你可以这样做:
params[:update_params][:copy]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3396 次 |
| 最近记录: |