在编辑时以表单形式显示 hstore 保存的值以供输入
Displaying hstore saved values in form for input when editing
我在 form_for 中显示 hstore 数据(过滤器)的保存值时遇到问题。
它保存在数据库中,但是当我返回此视图编辑某些内容时,我看不到输入表单字段中的实际值,就像在没有散列的正常 form_for 中一样。
这是我查看代码的快捷方式
<%= form_for @lesson, url: { action: "step3" } do |f| %>
<%= f.fields_for :filters do |d| %>
<%= @lesson.filters["age_from"] %> # like this value would be displayed
<%= d.text_field :age_from %>
<%= d.text_field :age_to %>
<%= d.text_field :name %>
<%= link_to "Back", step1_lesson_path(@lesson) %>
<%= submit_tag "Next" %>
<%end%>
<%end%>
提前致谢
你能尝试稍微改变一下视图,在 fields_for
中传递 @lesson.filters
如下
....
<%= f.fields_for :filters, OpenStruct.new(@lesson.filters) do |d| %>
#your code goes here ...
<% end %>
....
不修改控制器动作的解决方案:
<%= f.fields_for :filters, OpenStruct.new(@lesson.filters) do |d| %>
我在 form_for 中显示 hstore 数据(过滤器)的保存值时遇到问题。 它保存在数据库中,但是当我返回此视图编辑某些内容时,我看不到输入表单字段中的实际值,就像在没有散列的正常 form_for 中一样。
这是我查看代码的快捷方式
<%= form_for @lesson, url: { action: "step3" } do |f| %>
<%= f.fields_for :filters do |d| %>
<%= @lesson.filters["age_from"] %> # like this value would be displayed
<%= d.text_field :age_from %>
<%= d.text_field :age_to %>
<%= d.text_field :name %>
<%= link_to "Back", step1_lesson_path(@lesson) %>
<%= submit_tag "Next" %>
<%end%>
<%end%>
提前致谢
你能尝试稍微改变一下视图,在 fields_for
中传递 @lesson.filters
如下
....
<%= f.fields_for :filters, OpenStruct.new(@lesson.filters) do |d| %>
#your code goes here ...
<% end %>
....
不修改控制器动作的解决方案:
<%= f.fields_for :filters, OpenStruct.new(@lesson.filters) do |d| %>