【问题标题】:How can I change the status of what I selected in the dropdown to True on Rails?如何将我在下拉列表中选择的状态更改为 True on Rails?
【发布时间】:2016-11-07 19:46:34
【问题描述】:
 <%= f.select :tag_id, options_from_collection_for_select(RfidTag.all.where('status = ?','f'), :tag_id, :tag_id) %>

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

【问题讨论】:

  • 刚刚发布了代码,对不起。

标签: ruby-on-rails


【解决方案1】:

options_from_collection_for_select 中,您可以使用第四个参数指定应该已经选择的内容。只需在其中包含当前记录的tag_id

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

【讨论】:

    【解决方案2】:

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

    如果您希望在从下拉列表中选择结果时起作用,而不是点击提交按钮,您将不得不使用一些 js。这个答案可能会帮助你:https://stackoverflow.com/a/6961920/1079609

    【讨论】:

    • 我不需要更改控制器中的某些内容吗?喜欢更新方法吗?
    • 如果您使用 rails 生成器,控制器默认更新方法应该可以正常工作,无需进一步更改。
    • 您能解释一下“使用参数 {status: true} 发布到端点 rfidtags/:id”是什么意思吗?
    • 如果你scaffolded你的控制器,你应该有每个rfidtags的编辑页面。该页面应位于rfidtags/:id/edit 下。这
    猜你喜欢
    • 1970-01-01
    • 2018-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    • 1970-01-01
    • 2019-02-19
    • 2016-03-08
    相关资源
    最近更新 更多