Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在Rails上将下拉列表中所选内容的状态更改为True?_Ruby On Rails - Fatal编程技术网

Ruby on rails 如何在Rails上将下拉列表中所选内容的状态更改为True?

Ruby on rails 如何在Rails上将下拉列表中所选内容的状态更改为True?,ruby-on-rails,Ruby On Rails,这是我用来制作一个下拉列表的代码,其中包含我输入到数据库中的标签的所有id,默认状态设置为false。如何修复上述代码,以便在选择标记时,该标记被选中,并且其状态更改为true。在“选项”\u from\u collection\u for\u select中,您可以使用第四个参数指定应该选择的内容。只需在其中包含当前记录的tag_id <%= f.select :tag_id, options_from_collection_for_select(RfidTag.all.where('

这是我用来制作一个下拉列表的代码,其中包含我输入到数据库中的标签的所有id,默认状态设置为false。如何修复上述代码,以便在选择标记时,该标记被选中,并且其状态更改为true。

在“选项”\u from\u collection\u for\u select中,您可以使用第四个参数指定应该选择的内容。只需在其中包含当前记录的tag_id

 <%= f.select :tag_id, options_from_collection_for_select(RfidTag.all.where('status = ?','f'), :tag_id, :tag_id) %>

您需要使用参数{status:true}发布到端点rfidtags/:id,这将使用提供的id更新您的rfidtag


如果您希望在从下拉列表中选择结果时使用此功能,而不是点击提交按钮,则必须使用一些js。这个答案可能会对您有所帮助:

刚刚发布了代码对不起,我的错误。我不需要更改控制器中的某些内容吗?与更新方法类似?如果使用rails生成器,则控制器默认更新方法应能正常工作,无需进一步更改。请解释使用参数{status:true}发布到端点rfidtags/:id的含义。如果使用控制器,则应为每个rfidtags创建一个编辑页面。该页面应位于rfidtags/:id/edit下。这
options_from_collection_for_select(RfidTag.all.where('status = ?','f'), :tag_id, :tag_id, f.object.tag_id ) %>