rails 表单更新数据库记录
rails forms updating a db record
我想重写一个用于更新数据库记录的表单。
我想更新表单,使表单输入不显示记录,如
记录由
行输出
<%= q.object.content %>.
我想要
表单输入不显示记录,我希望记录被更新
当输入字段被编辑时,当它留空时不被编辑。
我是使用表单的新手,不知道实现此目的的最佳方法。
任何人都可以提供任何帮助来实现这一目标吗?以下是当前表格。任何帮助将不胜感激。
<%= semantic_form_for @bunchOfThings do |f| %>
<%= f.inputs do %>
<%= f.semantic_fields_for :aThing, @aThing do |q| %>
<%= q.object.content %>
<%= q.input :content, label: "A Thing: #{q.object.content}" %>
<% end %>
<% end %>
<%= f.action :submit , label: t('Some Text'), button_html: { class: 'btn btn-primary' } %>
<% end %>
您可以通过更改此行手动将字段的默认值设置为空字符串:
<%= q.input :content, label: "A Thing: #{q.object.content}" %>
为此:
<%= q.input :content, label: "A Thing: #{q.object.content}", input_html: {value:''} %>
您还需要在更新控制器方法中过滤掉后端的空白字段。像这样:
def update
filtered_params = permitted_record_params
filtered_params.keep_if{|k,v| !v.blank? }
record.update(filtered_params)
...
end
当然 permitted_record_params
方法 returns 您允许的参数散列。
我想重写一个用于更新数据库记录的表单。 我想更新表单,使表单输入不显示记录,如 记录由
行输出<%= q.object.content %>.
我想要 表单输入不显示记录,我希望记录被更新 当输入字段被编辑时,当它留空时不被编辑。
我是使用表单的新手,不知道实现此目的的最佳方法。
任何人都可以提供任何帮助来实现这一目标吗?以下是当前表格。任何帮助将不胜感激。
<%= semantic_form_for @bunchOfThings do |f| %>
<%= f.inputs do %>
<%= f.semantic_fields_for :aThing, @aThing do |q| %>
<%= q.object.content %>
<%= q.input :content, label: "A Thing: #{q.object.content}" %>
<% end %>
<% end %>
<%= f.action :submit , label: t('Some Text'), button_html: { class: 'btn btn-primary' } %>
<% end %>
您可以通过更改此行手动将字段的默认值设置为空字符串:
<%= q.input :content, label: "A Thing: #{q.object.content}" %>
为此:
<%= q.input :content, label: "A Thing: #{q.object.content}", input_html: {value:''} %>
您还需要在更新控制器方法中过滤掉后端的空白字段。像这样:
def update
filtered_params = permitted_record_params
filtered_params.keep_if{|k,v| !v.blank? }
record.update(filtered_params)
...
end
当然 permitted_record_params
方法 returns 您允许的参数散列。