我有一条带有可选参数的路线
name GET /:name(/:age)(.:format) users#name
在关联的控制器中,我想说,如果未传递可选的年龄参数(如在 localhost:3000/FirstName%20Lastname/ 之类的 url 中),则将它们带到具有诸如 localhost:3000/FirstName% 之类的年龄的路由20姓/ 25。
我在控制器中的尝试在这里:
def name
@user = User.find_by_name(params[:name])
!params[:age].nil? ? gon.currentyr = params[:age] : render name_path(@user.age)
...
end
但这会导致随机错误“语法错误,意外的 tIDENTIFIER,期望关键字_do 或 '{' 或 '(' 我不认为问题实际上是语法,因为当我将其更改为
!params[:age].nil? ? gon.currentyr = params[:age] : gon.currentyr = @user.age
它无需将年龄参数添加到 URL 的末尾即可工作。
谢谢!