在我的项目中,我有一个名为City的类,并且创建了别名BirthCity和ResidenceCity。我想以正确的方式更改route.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") }}) %>
答案 0 :(得分:0)
as: => :cities
应该是
:as => :cities
哈希文字的语法
{ :a => 3, "b" => 4 }
带有符号键的散列文字的新语法
{ a: 3, b: 4 }
这等于
{ :a => 3, :b => 4 }
短些
您正在混用这两种语法
答案 1 :(得分:0)
似乎您对新旧哈希语法感到困惑。
您应该替换此代码:
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