Ruby on rails 通过控制器手动将复选框设置为勾选

Ruby on rails 通过控制器手动将复选框设置为勾选,ruby-on-rails,parameters,checkbox,controller,Ruby On Rails,Parameters,Checkbox,Controller,在我的索引控制器中,我有一点逻辑。有时,我想在页面呈现时将复选框默认设置为勾选。 为此,我想向视图传递一个参数,并获取复选框,以使用此参数true/false来确定显示为勾选还是取消勾选 我可以这样做吗?我要做的是: 假设您正在向索引页传递一个参数q 所以url是:website.com/foo?q=true 复选框为模型控制的符号/字段为:bar 在控制器中,尝试使用@Mike的建议编辑如下内容: 看看这是否有效。我认为您的视图中不需要任何额外的逻辑。所以您传递的参数可能与复选框字段本身无关?

在我的索引控制器中,我有一点逻辑。有时,我想在页面呈现时将复选框默认设置为勾选。 为此,我想向视图传递一个参数,并获取复选框,以使用此参数true/false来确定显示为勾选还是取消勾选


我可以这样做吗?

我要做的是:

假设您正在向索引页传递一个参数q

所以url是:website.com/foo?q=true

复选框为模型控制的符号/字段为:bar

在控制器中,尝试使用@Mike的建议编辑如下内容:


看看这是否有效。我认为您的视图中不需要任何额外的逻辑。

所以您传递的参数可能与复选框字段本身无关?也就是说,您是否试图传递一个参数,比如?foo=val,然后检查:bar的输入?或者参数与:bar有关?我下面的答案应该仍然有效。更好的是第3行更简单,删除true:false部分,并将其保留为:@model.bar=params[:q]==true。我以为有一个速记,但没有记住。如果你不介意的话,迈克,我来修改答案好吗?
def index
  @model = Model.new
  @model.bar = (params[:q] == "true")
end