ActiveRecord::Store 哈希的酪蛋白形式
Casein form for ActiveRecord::Store hash
我有一个 Rails 4.2 应用程序,它使用 Casein 5.1 作为管理界面。我以正常方式用常规字段(title
和 content
)构建了 Page
模型,效果很好,但我不知道如何将值添加到哈希properties
使用 ActiveRecord::Store
:
#page.rb
class Page < ActiveRecord::Base
store :properties
end
我在控制器中所做的所有更改都是将 properties
添加到允许的参数中:
#pages_controller.rb
def page_params
params.require(:page).permit(:title, :content, :properties)
end
目前的表格如下所示:
<div class="col-lg-6">
<%= casein_text_field f, f.object, :title %>
</div>
<div class="col-lg-6">
<%= casein_text_area f, f.object, :content %>
</div>
<%= f.fields_for :properties do |ff| %>
<div class="col-lg-6">
<%= casein_text_field ff, ff.object, :test_property %>
</div>
<% end %>
properties
散列被保存为空散列。我如何传递一个值,以便可以通过管理员更改 properties.test_property
?
编辑:如果有足够代表的人想创建一个酪蛋白标签,那会很酷。
模型中:store :properties, accessors: [:test_property]
在控制器中:params.require(:page).permit(:test_property)
在页面表单中:
<%= casein_text_field f, f.object, :test_property %>
然后使用它,例如@page.test_property
(我很久以前就找到了这个问题的答案,忘记更新问题了)
我有一个 Rails 4.2 应用程序,它使用 Casein 5.1 作为管理界面。我以正常方式用常规字段(title
和 content
)构建了 Page
模型,效果很好,但我不知道如何将值添加到哈希properties
使用 ActiveRecord::Store
:
#page.rb
class Page < ActiveRecord::Base
store :properties
end
我在控制器中所做的所有更改都是将 properties
添加到允许的参数中:
#pages_controller.rb
def page_params
params.require(:page).permit(:title, :content, :properties)
end
目前的表格如下所示:
<div class="col-lg-6">
<%= casein_text_field f, f.object, :title %>
</div>
<div class="col-lg-6">
<%= casein_text_area f, f.object, :content %>
</div>
<%= f.fields_for :properties do |ff| %>
<div class="col-lg-6">
<%= casein_text_field ff, ff.object, :test_property %>
</div>
<% end %>
properties
散列被保存为空散列。我如何传递一个值,以便可以通过管理员更改 properties.test_property
?
编辑:如果有足够代表的人想创建一个酪蛋白标签,那会很酷。
模型中:store :properties, accessors: [:test_property]
在控制器中:params.require(:page).permit(:test_property)
在页面表单中:
<%= casein_text_field f, f.object, :test_property %>
然后使用它,例如@page.test_property
(我很久以前就找到了这个问题的答案,忘记更新问题了)