使用form_tag访问应用程序控制器中的方法

时间:2013-03-22 18:52:48

标签: ruby-on-rails ruby-on-rails-3.2

所有

我正在尝试使用bootstrap-navbar进行简单的密码验证(此处不需要用户名)。

来自application.html.erb:

   <%= form_tag "/",:controller => 'application',:action => 'tryy' do %>
        <%= label_tag "Enter password.." %>
        <%= password_field_tag "login_password" %>
        <div><%= submit_tag "Go!", :class=>'btn btn-success' %></div>
    <% end %>

和application_controller.rb:

class ApplicationController < ActionController::Base
  protect_from_forgery

  helper_method :subd?, :tryy

  def subd?
    !((request.subdomain == '') || (request.subdomain=='www'))
  end

  def tryy
    999
    puts 999
  end
end
在tryy中的'puts'只是为了看到使用rails服务器日志记录窗口发生的任何事情。

问题 - 提交表单时没有任何反应,即没有“999”打印。请注意,此处也没有错误消息。我怀疑方法“sub?”与此问题无关,但完全复制application_controller.rb,如果是的话。

关于我可能遗失的任何想法?

2 个答案:

答案 0 :(得分:0)

将表单发送到应用程序控制器是一种不好的做法。如果你想尝试,然后创建一个控制器,然后测试。你将获得成功。

答案 1 :(得分:0)

删除tryy

周围的引号
:action => tryy