我想将年份和月份传递给控制器。按下提交按钮时,应将年份和月份信息传递给控制器show
的操作foo
。
我已将我的表单编辑为
<%= form_tag "/test" do %>
<%= month_field_tag :yearMonth %>
<%= submit_tag %>
<% end %>
如何在视图中归档此内容以及如何在foo
控制器中获取传递的参数?
答案 0 :(得分:4)
Rails 4+你必须在你的控制器中有一个params.require私有def,以允许解析你定义为“okay”的变量。您的控制器将通过.require过滤掉未明确允许的任何内容。
private
def name_of_controller_params
params.require(:name_of_controller).permit(:yearMonth, :anothervar, :etc)
end
要在操作点查看控制器中的params哈希值,可以将此调试代码插入到相关操作中。您可以使用它来查看您的参数是否从表单进入控制器的操作。
def show
flash[:info] = "Params hash #{params}."
other actions...
end
答案 1 :(得分:0)
这样的事情会起作用:
<%= form_tag '/test' do %>
<%= month_field_tag 'month_value', '' %>
<%= submit_tag %>
<% end %>
然后检查来自show
操作的参数,看看month_value
是否存在。