ruby关于form的运用

我的环境是ruby186 rails2.3.8
controller的页面
def tree
unless request.get?
if mapvalue=params[:map][:mapvalue]==1
@errors << 1
else
@errors << 2
end
end
views为
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">




<% if @errors and not @errors.empty? then -%>

<% end -%>


<% form_for :map ,:url=>{:action=>:tree} do |f|%>
<%= input value="1" :mapvalue %>
<%= submit_tag " A "%> <%end%>


但运行报错 tree.html.erb:2: syntax error, unexpected ':', expecting ')'
...uffer.concat(( input value="1" :mapvalue ).to_s); @output_buff...
Extracted source (around line #2):

1: <% form_for :map ,:url=>{:action=>:tree} do |f|%>
2: <%= input value="1" :mapvalue %>
3: <%= submit_tag " A "%> <%end%>
我是不是form的用法错了还是那定义错了谁能说明下要怎么改
就我是想做个view的上的1个隐藏值回传
顺便能说下档我的value=是由@a.id时是直接VALUE = <%= @a.id %>不是VALUE =" <%= @a.id %>"吧

<% form_for :map ,:url=>{:action=>:tree} do |f|%>
<%= f.hidden_field :mapvalue, :value => @a.id %>
<%= f.submit %>
<%end%>