关闭

ruby on rails 使用text存储hash类型的数据 Use text filed to store the hash map

458人阅读 评论(0) 收藏 举报
分类:




在component表里用text类型的字段存储hash数据

(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


0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:66660次
    • 积分:2891
    • 等级:
    • 排名:第12228名
    • 原创:234篇
    • 转载:4篇
    • 译文:0篇
    • 评论:1条
    最新评论