我正在尝试编写一个必须与POST交互的应用程序,但是我在访问参数时遇到了问题。这并不意味着现在有用,但我只是试图闪现表格的结果。根据google开发工具,POST参数设置为1。
这是我的routes.rb文件
devise_scope :user do
put 'users/toggle_activation' => 'users/sessions#toggle_activation'
get 'users/sign_out' => 'users/sessions#destroy'
post 'pages/home' => 'users/sessions#activities'
end
这是有问题的控制器
def activities
params.permit(:tennis)
current_user.save
flash[:notice] = params[:tennis]
redirect_to root_path
end
这是表格代码
<%= form_for :user do |f| %>
<%= f.check_box :tennis %>
<%= f.submit %>
<% end %>
感谢任何帮助。
答案 0 :(得分:1)
如果您正在使用&#34; form_for&#34;,则check_box名称将显示为&#34;用户[网球]&#34;,而不仅仅是&#34;网球&#34;。在您的浏览器中查看源代码,您应该看到这一点。
在你的控制器方法中执行以下操作(虽然我不确定如何使用&#34; form_for:user&#34来调用它;因为你的&#34;活动&#34;路线不是&# 39; t在上面代码中的routes.rb中:
user_params = params.require(:user).permit(:tennis)
flash[:notice] = user_params[:tennis]