gpt4 book ai didi

ruby-on-rails - 单选按钮数据未保存

转载 作者:行者123 更新时间:2023-12-04 03:34:32 26 4
gpt4 key购买 nike

我正在使用 Form Helpers。我从另一个 SO 问题中找到了一些代码,并认为它在创建带有优雅循环的单选按钮方面非常有效。现在我已经合并了它,它不会保存数据(例如,category 值不会保存到 project 表中)

请看_form.html.erb下面的代码

<%= form_for(@project) do |f| %>
<% if @project.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@project.errors.count, "error") %> prohibited this project from being saved:</h2>

<ul>
<% @project.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>

<div class="field">
<%= f.label :title %><br>
<%= f.text_field :title %>
</div>
<div class="form_row">
<label for="category">Category:</label>
<% [ 'checklist', 'process'].each do |category| %>
<br><%= radio_button_tag 'category', category, @category == category %>
<%= category.humanize %>
<% end %>
<br>
</div>
<div class="field">
<%= f.label :description %><br>
<%= f.text_field :description %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>

最佳答案

您的单选按钮参数是在 project 结构之外创建的。如果您查看 params,您可能会看到

{:category => "your_category", :project => {...project params...}}

这是因为您使用的是 radio_button_tag 而不是常规的表单助手。试试这个:

f.radio_button :category, category, :checked => (@category == category)

此外,正如 Justin 所说,确保 :category 包含在 Controller 的 project_params 中。

关于ruby-on-rails - 单选按钮数据未保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23690336/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com