Ruby on rails 如何在Rails中实现特定场景的单选按钮

Ruby on rails 如何在Rails中实现特定场景的单选按钮,ruby-on-rails,forms,radio-button,Ruby On Rails,Forms,Radio Button,我到处搜索,但没有找到答案,但我也不确定要搜索哪些术语,所以如果你知道任何类似的问题,请告诉我 场景:我有帖子。我有一个管理端和一个公共端。我想一个单一的职位上显示的公共方面的头版 在管理方面,在帖子索引页面,我希望能够选择一个单选按钮旁边的帖子,我想显示在首页上。我想我需要一个表单,每个帖子的单选按钮,还有一个更新按钮。但这是我自己能做到的 我已经研究了虚拟属性,但我认为这不是我需要的,或者是吗?实现我需要的东西的好方法是什么 提前感谢大家。您可以在帖子模型中添加一个“公共”字段,并通过编辑帖

我到处搜索,但没有找到答案,但我也不确定要搜索哪些术语,所以如果你知道任何类似的问题,请告诉我

场景:我有帖子。我有一个管理端和一个公共端。我想一个单一的职位上显示的公共方面的头版

在管理方面,在帖子索引页面,我希望能够选择一个单选按钮旁边的帖子,我想显示在首页上。我想我需要一个表单,每个帖子的单选按钮,还有一个更新按钮。但这是我自己能做到的

我已经研究了虚拟属性,但我认为这不是我需要的,或者是吗?实现我需要的东西的好方法是什么

提前感谢大家。

您可以在帖子模型中添加一个“公共”字段,并通过编辑帖子表单上的复选框访问该字段。在创建或更新时的控制器中,检查public字段是否为true,如果为true,则需要运行类似Post.update_all(['public=?',false],'id!=?',current_Post_id])的操作,以便将任何现有的公共帖子恢复为private

或者,您可以为AppData创建一个简单的模型(:id=>:integer,:key=>:string,:value=>:string),并将当前所选公共帖子的id存储在该表中的一行上。为了保持简单,您需要序列化模型中的:value字段。在这种情况下,您将在视图中只使用一个unattached checkbox_标记,并从params散列中捕获该值。如果选中,则您需要使用新id更新AppData行。

您可以将“公共”字段添加到您的帖子模型中,并通过编辑帖子表单上的复选框访问它。在创建或更新时的控制器中,检查public字段是否为true,如果为true,则需要运行类似Post.update_all(['public=?',false],'id!=?',current_Post_id])的操作,以便将任何现有的公共帖子恢复为private


或者,您可以为AppData创建一个简单的模型(:id=>:integer,:key=>:string,:value=>:string),并将当前所选公共帖子的id存储在该表中的一行上。为了保持简单,您需要序列化模型中的:value字段。在这种情况下,您将在视图中只使用一个unattached checkbox_标记,并从params散列中捕获该值。如果选中,则需要使用新id更新AppData行。

非常感谢您的回答!我会尝试一下,看看效果如何。如果没有,让我知道你有什么问题,我会更新答案以适应。我最终选择了你上面建议的第二条路线。谢谢你的帮助。非常感谢你的回答!我会尝试一下,看看效果如何。如果没有,让我知道你有什么问题,我会更新答案以适应。我最终选择了你上面建议的第二条路线。谢谢你的帮助。