【发布时间】:2011-08-03 02:59:18
【问题描述】:
我有一个包含以下代码的编辑页面,基本上是一个下拉菜单和一个调用更新的按钮。
<% form_tag('switch_car', :method => :put) do%>
<div class="field">
<label>Car Name:</label>
<%= select("params", ":id", @available_cars.collect {|v| [v.name, v.id]})%>
</div>
<div>
<%= submit_tag "Switch Car" %>
</div>
<% end %>
服务器读取就像正在设置参数:
Parameters: {"utf8"=>"Γ£ô", "authenticity_token"=>"8vHXrnICaOKrGns6FfMUcd/dWo5kpNKpA8F5l5ozRkY=", "params"=>{":id"=>"9"}, "commit"=>"Switch Car"}
但是,当我将参数放入会话时,我什么也得不到。它似乎总是为零。不知道我做错了什么?这是控制器中的代码。
def update
if params[:id]
session[:car_info_id] = params[:id]
redirect_to entry_url
else
redirect_to switch_car_path
end
end
它总是被重定向到 switch_car_path,所以我假设 params[:id] 总是为零。当我输入 if params[:id] == nil 时,它会转到 entry_url。
提前致谢。
【问题讨论】: