在编辑时显示表单中的hstore保存值以供输入

时间:2015-06-16 13:54:44

标签: ruby-on-rails ruby form-for hstore

我遇到了在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%>

感谢advence

2 个答案:

答案 0 :(得分:4)

您可以尝试更改视图,在@lesson.filters中传递fields_for,如下所示

....
  <%= f.fields_for :filters, OpenStruct.new(@lesson.filters) do |d| %>
    #your code goes here ...
  <% end %> 
....

答案 1 :(得分:0)

无需修改控制器操作的解决方案:

http://localhost:65277/images/PDF_red64.png