我的rails应用程序中有以下代码:
<%= select :object,
:id,
options_for_select(Hash[@object_list.map { |object| [object.name, object.id] }]),
{:include_blank => 'Please select...'},
{} %>
如果没有选择选项,那么在我的控制器中我会收到一个空字符串。
如何选择发送'nil'值的选项呢?
答案 0 :(得分:2)
我认为您可以通过在列表中插入nil
来实现这一目标。
<%= select :object,
:id,
options_for_select(Hash[@object_list.map { |object| [object.name, object.id] }].merge({:0 => nil}), selected: 0) %>
答案 1 :(得分:0)
您应该为控制器使用before_action
回调。
class SomeController
before_action :prepare_params
private
def prepare_params
params[:your_param] = nil if params[:your_param].blank?
end
end