我正在使用表单标记,我希望结果是这样的:
<form action="controller/action" id="myID">
我目前有这个
<% form_tag :action => '', :id=>"relative_date_filter" do |f| %>
生成这个:
<form action="/controller/relative_date_filter" method="post">
编辑:
我目前收到此错误:
compile error
/app/views/controller/filters/_relative_time.html.erb:1: syntax error, unexpected tASSOC, expecting '}'
...e=true ; form_tag {:action => ''}, {:id => "relative_date_f...
^
/app/views/controller/filters/_relative_time.html.erb:1: syntax error, unexpected ',', expecting kEND
...e ; form_tag {:action => ''}, {:id => "relative_date_filter...
^
/app/views/controller/filters/_relative_time.html.erb:1: syntax error, unexpected kDO, expecting kEND
... => "relative_date_filter"} do ; @output_buffer.concat "\n ...
^
/app/views/controller/filters/_relative_time.html.erb:14: syntax error, unexpected kENSURE, expecting $end
Extracted source (around line #1):
1: <% form_tag {:action => ''}, {:id => "relative_date_filter"} do %>
在这里,奇怪的是没有第14行。它是文件的结尾。我添加了一个返回,它更改为第15行。我之前的代码确实导致了语法错误。
答案 0 :(得分:2)
这应该有效:
<% form_tag({:action => ''}, {:id => "relative_date_filter"}) do |f| %>
答案 1 :(得分:0)
form_tag
的第一个参数是url,这就是为什么你会看到'relative_date_filter'用于此目的的原因。我认为额外的选项可能允许您指定ID。
<% form_tag({:action => ''}, {:id => 'relative_date_filter'}) do |f| %>
第一个哈希是url,第二个哈希是额外的选项。如果你想要除了post以外的任何东西,那么这也是提供form方法的地方。
答案 2 :(得分:0)
<%= form_tag ({:controller => 'public', :action => 'search'}), ({:class => "round_corners_8"}) do %>
这个在Rails 3.0中为我工作