获取复选框的值 [Ruby/Sinatra(Rails)]

发布于 12-01 11:53 字数 1317 浏览 0 评论 0原文

我在一个视图上有一些复选框,我想在另一个视图上进行评估,但我不明白它在做什么。

我读过帖子/博客,说明了 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/>

value 应该被索引吗? 01

所以我想要两个结果

1)在 version.erb 视图上显示从 index.erb 视图中选择的选项。

所以它看起来像:-

Copy : Yes
Start : No

目前我有:-

# views/version.erb
<p>Copy : <%= params['update_params[0]'] %></p>
<p>Start : <%= params['update_params[1]'] %></p>

2)评估传递给脚本的选项,以便它们成为命令行选项,即 -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

I have some checkboxes on one view, that I want to eval on another, but I dont understand what its doing.

I've read posts/blogs stating different approaches to the name :-

update_params[]                     # array
update_params[0], update_params[1]  # known indexed array
update_params0, update_params1      # differently named

So going with the first which seems the most common :-

# 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/>

Should the value be indexed? 0, 1?

So I want two outcomes

1) Display the options selected from the index.erb view on the version.erb view.

So that it looks something like :-

Copy : Yes
Start : No

Currently I have :-

# views/version.erb
<p>Copy : <%= params['update_params[0]'] %></p>
<p>Start : <%= params['update_params[1]'] %></p>

2) eval the options to pass to a script so that they become command line options, ie -c, -l

So my "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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

请止步禁区2024-12-08 11:53:46

也许您可以使用数组中的键而不是依赖索引?例如:

<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]

Maybe instead of relying on index, you could use keys in the array? For example:

<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/>

So then, you can do stuff like:

params[:update_params][:copy]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文