【发布时间】:2011-01-31 22:44:36
【问题描述】:
我有一个表单选择,默认情况下,我需要选择一个“主”根文件夹,但如果所选选项存在参数,我还需要它来使用参数。我已经看到了使用 params 作为选择的示例,除非它们为 nil。但是,如果参数为 nil,我还没有看到使用另一个值的示例(除非它是空白的,否则使用这个值,在这种情况下 - 使用另一个值)。
查看
<%= f.select :folder_id, options_for_select(@folders, @folder_to_select ) %>
控制器:
if !params[:contact][:folder_id].nil?
@folder_to_select = params[:contact][:folder_id].to_i
else
@folder_to_select = @folders.assoc('MAIN').last.to_i
end
我可以在 Select 中获得所有控制器逻辑功能吗?
谢谢!
编辑:
我错过了,但我原来的控制器代码实际上并没有工作。我必须先检查 [:contact] 参数是否为 nil,然后才能检查 [:contact][:folder_id] 是否为 nil(以避免在顶级 [:contact] 不存在时出现 nil 错误。
if !params[:contact].nil?
if !params[:contact][:folder_id].nil?
@folder_to_select = params[:card][:folder_id].to_i
else
@folder_to_select = @folders.assoc('MAIN').last.to_i
end
end
【问题讨论】:
标签: ruby-on-rails