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

原创 2016年08月31日 16:55:23




在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


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

rails 查询出来的 Active Record格式数据转换

其实很简单一直不知道ruby自己就有自带的方法: data = User.take data.attributes.deep_symbolize_keys

How To Use MySQL with Your Ruby on Rails Application on Ubuntu 14.04

Introduction Ruby on Rails uses sqlite3 as its default database, which works great in many cases, b...

Ruby on Rails 入门之:(9) Ruby中Hash对象与数组

1. Hash对象 Ruby中Hash对象的使用,键值对使用=>分隔开。 如代码所示: #encoding:gbk Stus = {"tom"=>"42","Aaron"...

ruby on rails爬坑(四):使用AWS S3存取数据

一,前言在上一篇博客ruby on rails爬坑(三):图片上传及显示中提到AWS S3,这篇博客将简单介绍如何在rails项目中使用AWS S3.二,步骤 在亚马逊云服务中心开通配置AWS S3服...

Ruby on Rails 入门之:(5) Ruby中基本数据类型

任何一门编程语言都有自己的基本的数据类型,Ruby是一种弱类型的编程语言,变量不需要提前定义,也不需要指定变量的类型,解释器会自动的根据变量存储的内容推断变量的类型。 1. 常量 ...

利用to_param实现Ruby on Rails 的URL优化

Active Model ConversionsHandles default conversions: to_model , to_key and to_param.to_param () ...
  • linhx
  • linhx
  • 2011-03-09 22:15
  • 1208

Window7—64位:Ruby on Rails - “Add 'gem sqlite3'' to your Gemfile”

解决问题的方法http://stackoverflow.com/questions/17350837/ruby-on-rails-add-gem-sqlite3-to-your-gemfile/174...

Ruby on Rails,一对一关联(One-to-One)

在上一篇文章中,我们列举了对象之间可能出现的关联关系。接下来,逐个分析一下每一种关系如何在Ruby on Rails中实现和使用。 场景1:一对一关联一般用于一个东西A有且只有一个B,比如 ...

Ruby on Rails,一对多关联(One-to-Many)

在上一篇文章中,我们知道通过has_one和belongs_to方法定义一对一关联关系。接下来是更常见的情况,一对多关联。 比如老师与所教课程的关系,一个老师负责多个课程。换成对象之间的关系就是:一...

How to install Ruby on Rails in Ubuntu 11.10

by Ramesh Jha on 2011/10/27   http://blog.sudobits.com/2011/10/27/how-to-install-ruby-on-rails-in-...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)