我尝试了代码,这让很多人受益 - How to test if parameters exist in rails ,但它没有用():
if ( params.has_key?([:start_date]) && params.has_key?([:end_date]) )
我认为,这是因为复杂的参数,如果我这样写:
if ( params.has_key?([:report][:start_date]) && params.has_key?([:report][:end_date]) )
给我错误
can't convert Symbol into Integer
这也不起作用:
if ( params[:report][:start_date] && params[:report][:end_date] )
给我错误:
undefined method `[]' for nil:NilClass
它总是进入 else 语句。
这是我的参数:
report:
start_date: 01/08/2012
end_date: 10/08/2012
有人能帮我吗 ?
最佳答案
if params[:report] && params[:report][:start_date] && params[:report][:end_date]
关于ruby-on-rails - 如何检查参数[:some][:field] is nil?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11846227/