在我的项目中,我有一个名为City的类,我创建了别名BirthCity和ResidenceCity。我想以正确的方式更改 routes.rb 文件。
我试过添加
resources :birth_cities, :path => :cities, as: => :cities
resources :residence_cities, :path => :cities, as: => :cities
每次我打电话给birth_city_path时,我都希望它被引用到city_path。但是我收到以下错误:
syntax error, unexpected => (SyntaxError)
...ties, :path => :cities, as: => :cities
... ^~
有什么想法吗?我也尝试像这样修改它:
resources :birth_cities,:path => :cities,:as 'cities'
但无论如何它都不起作用。
编辑:现在sintax是相应的,但我得到另一个错误
undefined method `birth_cities_path' for #<#<Class:0x00007f4b3cfcd6c0>:0x00007f4b21303950>
对于以下行
<%= guiFieldAutocomplete(f, :birth_city_id, { data: { autocomplete_source: birth_cities_path(col: "json_recordset_name") }}) %>
as: => :cities
应该是
:as => :cities
哈希文本的语法
{ :a => 3, "b" => 4 }
带有符号键的哈希文本的新语法
{ a: 3, b: 4 }
这等于
{ :a => 3, :b => 4 }
只是更短
你有点混合这两种语法
您似乎对新旧哈希语法感到困惑。
您应该替换此代码:
resources :birth_cities, :path => :cities, as: => :cities
resources :residence_cities, :path => :cities, as: => :cities
跟
resources :birth_cities, :path => :cities, :as => :cities
resources :residence_cities, :path => :cities, :as => :cities
将as: => :cities
更改为:as => :cities
在此处阅读有关此语法的更多信息:https://stackoverflow.com/a/44005425/4797110