用于ActiveRecord :: Store哈希的Casein表单

时间:2015-01-16 20:18:12

标签: ruby-on-rails store

我有一个使用Casein 5.1作为管理界面的Rails 4.2应用程序。我用常规字段(Pagetitle)以正常方式搭建了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标签,那就太酷了。

1 个答案:

答案 0 :(得分:0)

在模型中:store :properties, accessors: [:test_property]

在控制器中:params.require(:page).permit(:test_property)

在页面中: <%= casein_text_field f, f.object, :test_property %>

然后使用它,例如@page.test_property

(我在很久以前就找到了这个问题的答案而忘了更新问题)