【发布时间】:2015-04-27 18:05:59
【问题描述】:
我将此表单嵌套在视图“A”中
<div>
<%if current_user%>
<%=form_for(ModelB.new) do |f|%>
<%if (params[:param_to_check].present?)%>
<%f.hidden_field "param1",:value=> @modelA.id%>
<%f.hidden_field "param2",:value=> current_user.id%>
<%end%>
render button
<%end%>
<%else%>
render other butotn
<%end%>
</div>
以及 Bs_controller 中的这个“发现”:
@modelA=ModelA.find_by_id(params[:param1])
:option_from_specific_gem=> -(@modelA.wanted_value).abs
当我查看传递给 Bs_controller 的参数时,我看到了:
Parameters: {"authenticity_token"=>"some_hash=", "utf8"=>"✓", "y"=>"42", "x"=>"144"}
我需要将 hidden_field 的值传递给 Bs_controller。
感谢关注:)
【问题讨论】:
-
是否设置了 current_user? params[:param_to_check] 有值吗?呈现的 HTML 中是否存在隐藏字段?
-
<% f.hidden_field "param1",:value=> @modelA.id %>应该是<%= f.hidden_field "param1",:value=> @modelA.id %>,你有它,它不会渲染
标签: ruby-on-rails-3 controller params