select_tag中的多个值

时间:2016-09-01 18:16:47

标签: ruby-on-rails ruby

是否可以在将选择标记的文本部分传递给控制器​​之后提取它,或者使用rails做一些其他狡猾的事情来获取{{1}}标记之间的值?

我的原始html很简单:

{{1}}

我将所选值转换为控制器中的整数,触发其他系统调用(例如路由到正确的支持人员),但是,我还希望能够保存文本部分进入用户的跟踪配置文件(即`user.issue ="我有一个小问题")。

害羞地创建一些隐藏字段并使用Javascript,是否有另一种方法可以在传递给控制器​​时获取或包含文本值?

2 个答案:

答案 0 :(得分:0)

以下是一些非常笼统的建议,因为你没有在你的问题中提供很多细节。是的,HTML应该是"相同"无论如何,但真正重要的是你如何创建它,因为它反映了它如何集成到你的应用程序的其余部分。

我会在数据库中创建一个名为severity的表,其行如下:

id | text      | val 
1  | 'small'   | 5
2  | 'big'     | 10
3  | 'massive' | 15

现在,不要像你暗示的那样在其他地方进行翻译("我将所选值转换为控制器中的整数,触发其他系统调用"),您可以使用以下内容:

problem.severity.text
=> 'massive'
problem.severity.val
=> '15'

使用has_one,belongs_to等关系,您可以在应用程序的任何位置利用这些值或单词。简单的事情:

    <%= f.collection_radio_buttons :user_id, Severity.all, :id, :text %>

答案 1 :(得分:0)

我建议你使用select2选择多个值,select2-rails是它与rails的集成。这很简单。试一试。