Ruby on rails Rails select无法使onchange和selected default同时工作

Ruby on rails Rails select无法使onchange和selected default同时工作,ruby-on-rails,Ruby On Rails,我正在使用“选择”作为下拉菜单,我希望它在更改时更新视图,并希望它显示默认的选定值,即上次选定的值。我可以让其中一个工作,但不能同时让两个工作。这是我的密码 <%= select("num", "xs1", a.map {|f| [f,f], {include_blank: true}, selected: params[:num], :onchange => "this.form.submit();") %> 使用此代码,onchange可以工作,但所选零件不能工作。如果我

我正在使用“选择”作为下拉菜单,我希望它在更改时更新视图,并希望它显示默认的选定值,即上次选定的值。我可以让其中一个工作,但不能同时让两个工作。这是我的密码

<%= select("num", "xs1", a.map {|f| [f,f], {include_blank: true}, selected: params[:num], :onchange => "this.form.submit();") %>

使用此代码,onchange可以工作,但所选零件不能工作。如果我更改订单并首先进行更改,则所选零件会工作,但更改后的零件不会工作。有没有一种方法可以写这个来让这两种方法都起作用?

根据这个例子:你应该在括号中包含selected:params[:num]和include\u blank:true。也许这样行,我试过了。它似乎不起作用。我没有得到语法错误或任何东西,当我将它添加到那里时,它只是不起任何作用。如果我将sting硬连接到selected:name中,它似乎确实起作用。是“params[:num]”部分不起作用。是否始终定义params[:num]?这可能是一个零的情况。如果您尝试使用params[:num].to_s会怎么样?您的右参数[:num]在选择某个选项并返回控制器后不会持续存在,因此返回为nil。相反,我将其替换为选定的:@cards.first.xs1@卡片在通过控制器时被设置,我可以从模型中选项所基于的列中获得我希望它显示的选项的名称。