我有一个使用Casein 5.1作为管理界面的Rails 4.2应用程序。我用常规字段(Page
和title
)以正常方式搭建了content
模型,这很好用,但我无法弄清楚如何向哈希添加值使用properties
的<{1}}:
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
?
编辑:如果有足够代表的人想创建一个Casein标签,那就太酷了。
答案 0 :(得分:0)
在模型中:store :properties, accessors: [:test_property]
在控制器中:params.require(:page).permit(:test_property)
在页面中:
<%= casein_text_field f, f.object, :test_property %>
然后使用它,例如@page.test_property
(我在很久以前就找到了这个问题的答案而忘了更新问题)