开发者

Saving multiple select form data in db

I've got form for some model A, which has got few fields:

  • tile
  • description
  • ...
  • colors

colors are selected from multiple select and options are ['red', 'green', 'blue', 'yellow']. User c开发者_如何学运维an choose colors as many as he wants. I don't think that making Color model and has_many relationship is good solution here to store colors data in model A. So question is:

How to store multiple data in db for such multiple select forms?


If you have limited number of colors, then you can store it as a string: "rby" means that user selected red, blue and yellow. Of course you can use any character to represent any color. In this solution you can easily store about 30-40 colors (what probably is enough). You can also store them as comma separeted words: "red, blue, yellow" and when you fetch it in Rails, just do @a.colors.split(',') and you will get array of names of colors.

Although if you want to store it as a string, it requires from you to write some more code in controllers to translate colors field to checkboxes and in the other side.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜