【发布时间】:2015-11-01 07:14:28
【问题描述】:
这是我在路线文件中的路线
get '/signup/:plan/:discount' =>'accounts#new', plan: nil, discount: 0, as: :new_account
我在我的 html 文件中调用这些路由,如下所示
<a href="<%= new_account_url('$129', params[:discount]) %>" class="signup"><img src="/images/sign-up.png"></a>
在后端运行 rake routes 命令后,我得到关注
new_account GET /signup/:plan/:discount(.:format)
accounts#new {:plan=>nil, :discount=>0}
但我不知道它给我错误的路线有什么问题
No route matches {:action=>"new", :controller=>"accounts", :discount=>nil, :format=>nil, :plan=>"$129"} missing required keys: [:discount]
【问题讨论】:
-
params[:discount]的值是多少? -
还可以尝试将路由中的
discount: 0更改为discount: nil。 -
我也尝试将折扣设为 nil 但仍然无法正常工作。并且 params[:discount] 在值来时不是强制性的,然后用 nil 或 0 替换。
-
您是如何获得
params[:discount]的?我怀疑params[:discount]没有传递给视图。 -
但是
plan: nil没有任何意义.. 可能是0或其他一些默认值更有意义..
标签: ruby-on-rails ruby-on-rails-4 routes