在视图中输入并将其传递给控制器

时间:2013-01-29 10:32:42

标签: ruby-on-rails

以下代码甚至不渲染按钮:

<% form_tag :controller=> :create_new, :action=>:input do %>
<%=text_field_tag :my_input%>
<%=submit_tag "Send input"%>
<%end%>

控制器create_new具有以下方法:

def input
@my_input=params[:my_input]
end

routes.rb有::

resources :create_new do
   post :input, :on=>:collection

3 个答案:

答案 0 :(得分:1)

使用<%= form_tag代替<% form_tag

答案 1 :(得分:0)

对于rails 3,我们必须对form_tag和form_for使用'='符号。所以改变你的代码如下..

 <%=form_tag :controller=> :create_new, :action=>:input do %>
 <%=text_field_tag :my_input%>
 <%=submit_tag "Send input"%>
 <%end%>

答案 2 :(得分:0)

<%= form_tag input_create_new_path, :html_options => {:method => :post} do |f| %>
  <%= f.text_field :my_input%>
  <%= f.submit "Send input"%>
<%end%>