我的编辑操作在视图中有一系列单选按钮。我想填写当前所选字段的值。我设法让这个工作,虽然我觉得代码可能更好,也许应该在模型中。
控制器:
def edit
@rating = Rating.find(params[:id])
@a,@b,@c,@d,@e,@f,@g,@h,@i,@j = false
if @rating.environ == 1
@a = true
elsif @rating.environ == 2
@b = true
elsif @rating.environ == 3
@c = true
elsif @rating.environ == 4
@d = true
.
.
.
etc.
视图:
1<%= f.radio_button :environ, 1, :checked => @a %>
2<%= f.radio_button :environ, 2, :checked => @b %>
3<%= f.radio_button :environ, 3, :checked => @c %>
.
.
etc..
答案 0 :(得分:0)
您的型号代码是什么?我猜一个评级有很多环境?
在任何情况下,您都可以在视图中循环遍历所有这些并使您的:checked参数成为布尔值。
类似
<% @environs.each do |env| -%>
<%= f.radio_button :environ, env.id, :checked => (@rating.environ == env) %>
<% end -%>