ruby on Rails form_tag空提交值
我按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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论