我有一个带有可选参数的路线
name GET /:name(/:age)(.:format) users#name
在关联的控制器中,我想说如果未传递可选的age参数(如在localhost:3000 / FirstName%20Lastname /中的url),则将它们带到具有年龄的路由,例如localhost:3000 /姓%20Lastname / 25。
我在控制器中的尝试是:
def name
@user = User.find_by_name(params[:name])
!params[:age].nil? ? gon.currentyr = params[:age] : render name_path(@user.age)
...
end
但这导致随机错误“语法错误,意外的tIDENTIFIER,期待keyword_do或'{'或'('' 我不认为问题实际上是语法,因为当我将其更改为
时!params[:age].nil? ? gon.currentyr = params[:age] : gon.currentyr = @user.age
无需将年龄参数添加到URL的末尾即可。
谢谢!
答案 0 :(得分:0)
尝试这样的事情:
def name
redirect_to users(params[:name], 25) if params[:age].blank?
# (rest of your action)
end