我有一个只有一种方法的控制器:
index_controller.rb
def index
# some code
end
表格:
index.html.erb
<%= form_tag :class => "form-inline signup" do %>
<div class="form-group">
<%= text_field_tag :url, nil, :class => "form-control", :placeholder => "URL do tópico" %>
</div>
<%= submit_tag "Enviar", method: :post, :class => 'btn btn-theme' %>
<% end %>
简单的根路线:
root 'index#index'
post '/', to: 'index#index'
问题在于,当我加载根页面时,表单会自动发布,而最好是在按钮调用时POST。
我在这里缺少什么?
答案 0 :(得分:2)
您应该将post
的代码移到另一个可以处理该代码的操作中。
post '/', :to => "index#submit"
然后,您可以在submit
中定义IndexController
操作来处理表单,而index
操作将不再运行表单代码。