我已经四处寻找但没有找到答案,但我也不确定要搜索的条款,所以如果你知道的话,请指出类似的问题。
情景:我有帖子。我有一个管理员方面和一个公共方面。我希望在公共页面首页上显示一条帖子。
在管理员方面,在帖子索引页面上,我希望能够选择我想要在首页上显示的帖子旁边的单选按钮。我的猜测是我需要一个表单,每个帖子的单选按钮和一个更新按钮。但就我自己而言,这是可以的。
我研究过虚拟属性,但我认为这不是我需要的,或者是它?什么是完成我需要的好方法?
先谢谢大家。
答案 0 :(得分:0)
您可以在帖子模型中添加“公开”字段,然后通过编辑帖子表单上的复选框进行访问。在创建或更新的控制器中,检查公共字段是否为真,如果是,那么你需要运行类似Post.update_all(['public =?',false],['id!=? ',current_post_id])以便将任何现有公开帖子还原为私人。
或者,您可以为AppData创建一个简单模型(:id =>:integer,:key =>:string,:value =>:string)并将当前所选公共帖子的ID存储在在该表中的行。为了简单起见,您需要序列化模型中的:value字段。在这种情况下,您只需在视图中使用未附加的checkbox_tag,并从params散列中捕获该值。如果已选中,则需要使用新ID更新AppData行。