我想向用户显示几个选项,并且他可以选择一个或多个otions
我要上传支票中的支票
这是表格的想法
from PyQt5.QtWidgets import *
import sys
class GroupBox(QWidget):
def __init__(self):
QWidget.__init__(self)
self.setGeometry(20,20,900,700)
self.setWindowTitle("Elevator Group Control System Simulator")
layout = QGridLayout()
self.setLayout(layout)
groupbox = QGroupBox("Algorithm to use")
groupbox.setCheckable(False)
layout.addWidget(groupbox)
hbox = QHBoxLayout()
hbox.setGeometry(10,10,100,100)
groupbox.setLayout(hbox)
radiobutton = QRadioButton("Good Picker")
hbox.addWidget(radiobutton)
radiobutton = QRadioButton("Naive Picker")
hbox.addWidget(radiobutton)
app = QApplication(sys.argv)
screen = GroupBox()
screen.show()
sys.exit(app.exec_())
#views/values/new.html.erb*
<% @values =["Power", "Independance", "Tradition"] %>
<%= form_for @resultvalue do |f| %>
<% @values.each do | value | %>
<%= f.check_box :values, { multiple: true }, value, false %>
<%= f.label value %>
<% end %>
<%= f.submit%>
<% end %>
#controller/resultvalue_controller.rb
class ResultvaluesController < ApplicationController
[...]
def resultvalue_params
params.require(:resultvalue).permit(:values)
end
end
我的问题是关于控制器的,如果选择多个,我不知道写什么将数据发送到数据库中
答案 0 :(得分:0)
使用以下变体之一:
<% @values = ["Power", "Independance", "Tradition"] %>
<% @values.each do |value| %>
或
<% values = ["Power", "Independance", "Tradition"] %>
<% values.each do |value| %>
答案 1 :(得分:0)
如果数组很短,这是一种简短的方法。
["Power", "Independance", "Tradition"].each do |value|%>
<div>
<input type="checkbox" id="<%= value %>" name="<%= value %>">
<label for="<%= value %>"><%= value %></label>
</div>
<% end %>
<button class="btn btn-success" type="submit">
Validate
</button>
否则,您可以在模型或任何其他模块下创建常量,例如:
class ModelA < ApplicationRecord
CHOICES = ["Power", "Independance", "Tradition"].freeze
end
然后在视图内部,使用如下常量:
ModelA::CHOICES.each do |value|%>
<div>
<input type="checkbox" id="<%= value %>" name="<%= value %>">
<label for="<%= value %>"><%= value %></label>
</div>
<% end %>
<button class="btn btn-success" type="submit">
Validate
</button>
答案 2 :(得分:0)
有两个问题。
<%= values =["Power", "Independance", "Tradition"] %>
<% @values.each do |value|%>
<div>
<input type="checkbox" id="<%= value %>" name="<%= value %>">
<label for="<%= value %>"><%= value %></label>
</div>
<% end %>
<button class="btn btn-success" type="submit">
Validate
</button>
这将使您的视图正常工作。
在此之后,您需要具有表单,该表单将发布到相应的控制器操作中。
之后,您可以通过参数将数据保存在控制器中,就像:User.update(power:params [:Power])
我建议看一下这个: https://guides.rubyonrails.org/active_record_basics.html
这是最好的起点之一: https://www.tutorialspoint.com/ruby-on-rails