ruby-on-rails - 获取复选框的值 [Ruby/Sinatra(Rails)]

标签 ruby-on-rails ruby forms sinatra

我在一个 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/

相关文章:

javascript - 目录 : Accept File Upload and Copy&Paste Upload

ruby-on-rails - 在 Rails 中跨域单点登录的多站点应用程序?

Ruby 数组 - 返回重复和非重复对象的集合

python - 测试 Django 管理表单

php - 页面刷新时数据库被填充

ruby-on-rails - 饰有 Draper 的 public_activity gem

MySQL 无法连接到使用 Rubber 部署的 EC2

ruby - 你如何用 Mongoid 编写 "(A OR B) AND (A OR C)"查询?

ruby-on-rails - 如何在 Ruby on Rails 中仅使用 OmniAuth 进行不同 Apis 的授权而无需身份验证

javascript - .focus() 在 Javascript 函数中不起作用