1

我有一个用户选择首选项的页面 - 我希望他们选择的复选框在他们重新访问页面时自动选中(提交后)。

我在这里查看了其他几个似乎可以解决这个问题的线程,但我很确定。卡住了 - 有人可以向我扔一些 Rails 知识吗?!

> <%= form_for @like do |f| %> 
> <% Category.select { |category| category.gender == 'guy' }.each do |category| %> 
> <%= check_box_tag 'category_ids[]', category.id, true %>

喜欢控制器:

def create
    @like = Like.new(params[:like])
    params[:category_ids].each do |category|
      Like.create(:category_id => category, :user_id => current_user.id)
    end
    redirect_to new_preference_path
  end
4

1 回答 1

1

您必须像这样向 check_box_tag 添加第三个参数:

<%= check_box_tag "category_ids[]", category.id, @like.category_ids.include?(category.id) %>

因此,如果@like 的 category_ids 包含该类别,则检查复选框

于 2012-09-29T12:02:47.613 回答