在Rails中没有模型的情况下将表单参数发送到控制器

时间:2014-11-22 22:43:49

标签: ruby-on-rails ruby-on-rails-4 model-view-controller

我有一张表格:

 <%= form_for(:user_email, :url => {:action => 'send_email'}) do |f| %>
    <%= f.text_field(:subject, class: 'form-control')%>
    <%= f.button "Submit", type: 'submit'%>
<% end %>

还有一个控制器:

class UserEmailController < ApplicationController
   def send_email
      p params[:subject]
   end
end

这会在控制台中写入nil,而不是我在文本字段中输入的文本。

问题:如何访问控制器中字段的内容?

我应该提到动作本身是触发的,但参数是零。

2 个答案:

答案 0 :(得分:1)

在路径中使用form_tag。我使用过/user_email/send_email。根据您在routes.rb

中设置的路线进行更改
 <%= form_tag('/user_email/send_email') do %>
    <%= text_field_tag(:subject, class: 'form-control')%>
    <%= submit_tag "Submit"%>
<% end %>

答案 1 :(得分:1)

尝试改为:

p params[:user_email][:subject]

如果这不能产生您想要的东西,请尝试:

p params

...检查通过电汇发送的内容。