ruby on Rails form_tag空提交值

发布于 2025-02-14 01:04:42 字数 1535 浏览 2 评论 0原文

我按PARAMS [:commit] =='用户'按下按钮。但是在控制器操作值中始终=“”(空)。我做错了什么?

控制器类

class AdminController < ApplicationController 

    def show
    end

    def panel
        puts "Params ============================================= " 
        if params[:commit] == 'Users'
            puts "Users ============================================= " 
            puts params[:commit]
        elsif params[:commit] == 'Projects'
            puts "Projects ============================================= " 
            puts params[:commit]
        else              
            puts "ELSE  ============================================"
            puts params[:commit] 
        end
    end

end

视图面板.html.ERB

<%= form_tag url_for(action: 'panel'), method: "post" do %>
  <%= submit_tag 'User' %>
<% end %>

路由

Rails.application.routes.draw do
  root 'admin#show' 

  get  '/panel', to: "admin#panel"
end

日志

Processing by AdminController#panel as HTML
Params ============================================= 
ELSE  ============================================

  Rendering layout layouts/application.html.erb
  Rendering admin/panel.html.erb within layouts/application
  Rendered admin/panel.html.erb within layouts/application (Duration: 0.9ms | Allocations: 523)
  Rendered layout layouts/application.html.erb (Duration: 6.5ms | Allocations: 2745)
Completed 200 OK in 17ms (Views: 12.0ms | Allocations: 3047)

I press push button with params[:commit] == 'User'. But in controller action value always = "" (empty) . What am I doint wrong?

Controller class

class AdminController < ApplicationController 

    def show
    end

    def panel
        puts "Params ============================================= " 
        if params[:commit] == 'Users'
            puts "Users ============================================= " 
            puts params[:commit]
        elsif params[:commit] == 'Projects'
            puts "Projects ============================================= " 
            puts params[:commit]
        else              
            puts "ELSE  ============================================"
            puts params[:commit] 
        end
    end

end

view panel.html.erb

<%= form_tag url_for(action: 'panel'), method: "post" do %>
  <%= submit_tag 'User' %>
<% end %>

routes

Rails.application.routes.draw do
  root 'admin#show' 

  get  '/panel', to: "admin#panel"
end

logs

Processing by AdminController#panel as HTML
Params ============================================= 
ELSE  ============================================

  Rendering layout layouts/application.html.erb
  Rendering admin/panel.html.erb within layouts/application
  Rendered admin/panel.html.erb within layouts/application (Duration: 0.9ms | Allocations: 523)
  Rendered layout layouts/application.html.erb (Duration: 6.5ms | Allocations: 2745)
Completed 200 OK in 17ms (Views: 12.0ms | Allocations: 3047)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文