【发布时间】:2015-01-21 18:49:12
【问题描述】:
我正在尝试通过编写一个简单的程序来学习 RoR,但在从多选中保存表单数据时遇到了困难。有人可以帮我理解 Rails 中的多选选项吗?我有一个包含多种不同棋盘游戏的表格。我想将选定的游戏 ID 保存为“2,3”的表格。但是,目前它保存为:game_id: "[\"\", \"2\", \"3\"]"
我在保存到数据库之前尝试使用连接:
self.game_id = game_id.join(', ')
但得到以下错误:NoMethodError (undefined method `join' for "[\"\", \"3\", \"4\"]":String):
我将参数设置为:
def setup_params
params.require(:user).permit(:game_id => [])
end
视图如下:
<%= f.label :game_id, "Board Games" %>
<%= f.select(:game_id, @game.map {|g| [g.game_name, g.id]}, {}, {:multiple => true}) %>
从错误来看,它似乎是作为字符串返回的?另外,我不确定为什么它在数组中有初始空白。
感谢您的帮助!
【问题讨论】:
标签: ruby-on-rails select