Ang*_*kis 1 ruby-on-rails ruby-on-rails-3
我有一个Attendance
模型有两个Boolean
数据库属性(:late
和:absent
),他们都有:default => false
.
我正在尝试制作一个只有2个单选按钮的表单.一个是迟到的,一个是缺席的.当然,用户只能选择两者中的一个.
我已经尝试了很多变化,但无法获得任何工作.
任何人都可以帮我一把吗?我知道我可以很容易地选择收藏,但单选按钮将有助于用户体验.另外,由于一系列原因,我需要继续使用db模式...
太感谢了!!!
我不知道任何支持开箱即用所需功能的rails助手.我还质疑可用性,因为如果模型既不迟到也不存在但是偶然被点击,用户将无法取消选择单选按钮.
除此之外,我将使用radio_button_tag并提供两个选项,然后在您的控制器中相应地更新params.这是一个基本的例子:
<%= form_tag('/your/path') do %>
<%= radio_button_tag :status, 'late' %>
<%= label_tag :status_late, 'Late' %>
<%= radio_button_tag :status, 'absent' %>
<%= label_tag :status_absent, 'Absent' %>
<%= submit_tag :submit %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
当然,你将拥有你需要的任何其他领域,然后在你的控制器中,例如:
def create
case params[:status]
when 'late'
params[:model_name][:late] = true
when 'absent'
params[:model_name][:absent] = true
end
ModelName.new(params[:model_name])
end
Run Code Online (Sandbox Code Playgroud)
沿着这些方向的东西应该可以解决问题.