怎么了?
我有一个带有单选按钮的表格。
表单将选中的ID []发送到 proc sql;
create table inc_status as
select incident_name, appstatus,
max(case when APPStatus="In progress" then "In progress"
when APPStatus="overdue" then "overdue"
else " "
end) as inc
from incident
group by incident_name;
quit;
操作。
我在控制台中看到了params的值,但是属性没有更新。
总是分配9
create
答案 0 :(得分:0)
说实话,我认为很多事情都是错误的……这并不是在Rails中创建复选框的方式。您检查过表单助手了吗?还是考虑过使用简单表单gem?
创建表单的方式:
#assuming you have a related model called category
simple_form_for @advert do |f|
= f.association :category, as: :checkboxes
然后在控制器中只需将参数列入白名单并保存模型:
def update
@advert.update(advert_params)
end
def advert_params
params.require(:advert).permit(category_ids: [])
end
答案 1 :(得分:-1)
如果我对您的理解正确,那么您在设置@advert中的类别值时会遇到问题。 根据ruby语法,您必须在块内移动代码,这意味着您应该这样编写条件:
if (params[:ids] == "1")
@advert.update(category: "1")
elsif (params[:ids] == "2")
@advert.update(category: "2")
elsif (params[:ids] == 3)
@advert.update(category: "3")
else
@advert.update(category: "9")
end
看看here。
此外,在这种情况下,我建议您使用开关盒