ruby on rails 使用text存储hash类型的数据 Use text filed to store the hash map
2016-08-31 16:55
543 查看
在component表里用text类型的字段存储hash数据
(1)新建字段 ,这是migration的内容
(2)controller
(3)model
(4)_component.html.erb
(5)_form.html.erb
参考资料
http://vladexologija.blogspot.com/2012/12/rails-attribute-serialization_18.html
http://guides.rubyonrails.org/action_controller_overview.html#strong-parameters
(1)新建字段 ,这是migration的内容
class AddHintsToComponents < ActiveRecord::Migration[5.0] def change add_column :components, :hints, :text end end
(2)controller
def update if @component.update!(component_params) redirect_to @component, notice: 'Component was successfully updated.' else render :error end end
def component_params params.require(:component).permit(:release_id, :component_type_id, :remark, component_ids: [], hints: [:left, :mid, :right]) end
(3)model
class Component < ApplicationRecord serialize :hints def after_initialize self.hints ||= {} end
(4)_component.html.erb
<td> left:<%= component.hints["left"] %> | mid:<%= component.hints["mid"] %> | right:<%= component.hints["right"] %> </td
(5)_form.html.erb
<%= f.fields_for :hints do |h| %> <div class="form-group"> <%= f.label 'hints left', class: 'col-sm-2 control-label' %> <div class="col-sm-4"> <%= h.text_field :left, class: 'form-control', value: (@component.hints && @component.hints.key?("left") ? @component.hints["left"] : "") %> </div> </div> <div class="form-group"> <%= f.label 'hints mid', class: 'col-sm-2 control-label' %> <div class="col-sm-4"> <%= h.text_field :mid, class: 'form-control', value: (@component.hints && @component.hints.key?("mid") ? @component.hints["mid"] : "") %> </div> </div> <div class="form-group"> <%= f.label 'hints right', class: 'col-sm-2 control-label' %> <div class="col-sm-4"> <%= h.text_field :right, class: 'form-control', value: (@component.hints && @component.hints.key?("right") ? @component.hints["right"] : "") %> </div> </div> <% end %>
参考资料
http://vladexologija.blogspot.com/2012/12/rails-attribute-serialization_18.html
http://guides.rubyonrails.org/action_controller_overview.html#strong-parameters
相关文章推荐
- 使用text存储hash类型的数据 Use text filed to store the hash map
- Ruby on Rails学习笔记(6)--ruby on rails 和mysql数据类型的对应关系
- Ruby on Rails 入门之:(5) Ruby中基本数据类型
- Ruby on Rails Tutorial 第四章 Rails背后的Ruby 之 其他数据类型(二)
- 存储过程中使用Text类型的输出参数(转)
- Ruby on rails开发从头来(windows)(二十八)- 使用Rake运行测试
- 在Ruby on rails在使用SQLite
- 使用 Ruby on Rails 快速开发 Web 应用程序
- 使用XMPP4r在RubyOnRails中集成IM功能
- 使用 XForms 和 Ruby on Rails 开发小型门诊管理系统,第 1 部分: 安装配置 IBM DB2 9 pureXML
- 使用 Ruby on Rails 快速开发 Web 应用程序
- 告别 ROR windows 部署的噩梦-在 windows 上面 使用 Apache 部署 Ruby On Rails
- Ruby on Rails学习拾遗(三)—使用yaml做配置
- 使用 Ruby on Rails 快速开发 Web 应用程序
- Ruby on rails开发从头来(四十一)- ActiveRecord基础(存储结构化数据)
- 在Windows平台使用Apache2.2和Mongrel运行Ruby on Rails
- 使用 RadRails 和 Eclipse 可以轻松进行 Ruby on Rails 开发
- Ruby on rails开发从头来(windows)(二十六)- 使用Mock对象
- 在Windows平台使用Apache2.2和Mongrel运行Ruby on Rails
- 在Windows平台使用Apache2.2和Mongrel运行Ruby on Rails