我有一个GroupCoach模型,Group Coaches has_many:groups。在我的新组表单中,我想将group_coach_id传递给隐藏字段中的Group对象,以便组与GroupCoach关联,而无需用户选择。
所以在我的Groups_Controller
中 @group = Group.new
@group_coach = GroupCoach.first(:order => "RAND()")
这会得到一个随机的GroupCoach。然后在新的组视图中我有一个隐藏的字段
<%= f.hidden_field @group_coach %>
这显然不是100%正确的。它确实传递了group_coach_id但它没有告诉表单将哪个列保存在...
我也听说这是非常不安全的......
答案 0 :(得分:1)
我使用以下代码来解决此问题
<%= f.hidden_field :group_coach_id, :value => @group_coach.id %>
但这是最安全的吗?看起来很不安全,因为我可以改变Firebug中的值或其他东西......
答案 1 :(得分:1)
制作令牌列。只需SHA1加密它(或任何你选择的)并传递它。猜测起来要难得多。