我第一次在 Rails4 应用程序中使用 Hstore,并且在表单中使用 javascript 为 hstore 列构建动态表单字段(:schema)
在 Rails 4 中,我不需要在模型中添加任何 setter/getter 方法,对吗?
在我的表单中,我正在构建动态输入字段并允许用户设置键/值对。很像Hstore Heroku 演示应用程序
所以基本上我的表格会有这样的输入
input name="app[schema][dynamic_key1]" value="whatever value"
input name="app[schema][dynamic_key2]" value="whatever value2"
在我的应用程序控制器中:
def app_params
params.require(:app).permit(:name, :title, :schema )
end
但是,当我创建新的应用程序记录时,我的架构 hstore 值没有保存。我看到了一些关于设置强参数的事情:模式=> []但这仍然行不通。
由于我不知道这些值是什么,因此我无法像在很多示例中看到的那样为这些值设置 store_accessors 。
在这里找到这个:http://guides.rubyonrails.org/action_controller_overview.html#more-examples
在我的控制器中我使用了:
def app_params
params.require(:app).permit(:name, :title).tap do |whitelisted|
whitelisted[:schema] = params[:app][:schema]
end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)