在Rails中,如何通过单击一个按钮来在三个单独的页面上更改边框的颜色?
问题描述:
在我的Rails应用程序中,我有一个有几个“提议”的页面。我需要一种能够进入并选择“获胜提案”的方式。然后我希望提案的div边框颜色变为绿色。该提案还存在于另外三页,因此我想在这些地方改变它的颜色以及这些div的文字。在rails中执行此操作的最佳方法是什么?在Rails中,如何通过单击一个按钮来在三个单独的页面上更改边框的颜色?
答
我会在建议模型中有一个字段,它是一个布尔值,并指示它是否获胜。让它默认为false。那就是:迁移中的默认值=> false。
然后在你的观点中,如果提案获胜,你可以给你的div一个像.winning-proposal这样的类,它将对应于你将放在proposal.css.scss中的CSS类,或者任何在你的样式表目录中。如果提案没有获胜,您不会在课程中包含此课程。
要设置获胜方案,只需更新Proposal实例的属性并将模型的获胜布尔列设置为true。
希望有道理!
好的,谢谢,每个提案都绑定到一个项目上,所以我想将项目的div的颜色更改为绿色,如果其中一项提案更改为“获胜”,那么我会使用 ...使用div类.winning-proposal ...? – sacshu 2012-07-11 21:24:02
如果每个建议has_one:项目和每个项目belongs_to:建议,那么您肯定可以通过该关联读取获胜的布尔值。 – AJcodez 2012-07-11 23:15:26
另外请注意,你不需要'===真',因为它本身是一个布尔值,因此只是真或假 – AJcodez 2012-07-11 23:17:23