奇怪的路径生成

如何解决奇怪的路径生成

| 我目前正在处理管理面板中的某些缺少的操作,其中之一是编辑实体。 route.rb文件包含以下条目:
  namespace \"admin\" do
    resources :users,:cvs,:settings,:languages,:vacancies,:countries,:companies
  end
我正在edit.html.haml页面上生成用于编辑实体的表单。该haml页的代码如下所示:
= form_for @cv,:url => admin_cvs_path(@cv.id) do |form|
  %table.clean
    %tr
      %th.border-left= \'Value\'
      %th.border-right= \'Key\'
    %tr
      %td.border-left= \'Title\'
      %td.border-right= form.text_field :title
    %tr
      %td.border-left= \'First name\'
      %td.border-right= form.text_field :first_name
    %tr
      %td.border-left= \'Last name\'
      %td.border-right= form.text_field :last_name
    %tr
      %td.border-left= \'Gender\'
      %td.border-right= form.select :gender,options_for_select([\'M\',\'F\',\'NA\'])
    %tr
      %td.border-left= \'Address\'
      %td.border-right= form.text_field :address
    %tr
      %td.border-left= \'City\'
      %td.border-right= form.text_field :city
    %tr
      %td.border-left= \'Postal code\'
      %td.border-right= form.text_field :postal_code
    %tr
      %td.border-left= \'Country\'
      %td.border-right= form.select :country_id,options_from_collection_for_select(@countries,:id,:name)
    %tr
      %td.border-left.border-right{:colspan => 2}= form.submit \'update\'
但是,查看生成的HTML时,我收到以下输出:
<form id=\"edit_cv_2\" class=\"edit_cv\" method=\"post\" action=\"/admin/cvs.2\" accept-charset=\"UTF-8\">
如果我没记错的话,目标动作是错误的。它应该是/ admin / cvs / 2,而不是生成的/admin/cvs.2。 奇怪的是,另一个实体的完全相同的代码会生成正确的html,但不会为此生成一个html。 编辑:从“耙路”中添加
               root        /(.:format)                         {:action=>\"index\",:controller=>\"static\"}
          select_cv GET    /select(.:format)                   {:action=>\"select\",:controller=>\"static\"}
      categorize_cv POST   /categorize(.:format)               {:action=>\"categorize\",:controller=>\"static\"}
           match_cv POST   /match(.:format)                    {:action=>\"match\",:controller=>\"static\"}
           semantic POST   /semantic(.:format)                 {:action=>\"semantic\",:controller=>\"static\"}
            cv_show GET    /cvs/show/:id(.:format)             {:action=>\"show\",:controller=>\"cvs\"}
           esco_new GET    /cvs/new(.:format)                  {:action=>\"new\",:controller=>\"cvs\"}
          esco_view GET    /cvs/esco_view/:id(.:format)        {:action=>\"esco_view\",:controller=>\"cvs\"}
         esco_match POST   /cvs/esco_match/:id(.:format)       {:action=>\"esco_match\",:controller=>\"cvs\"}
        new_session GET    /session/new(.:format)              {:action=>\"new\",:controller=>\"session\"}
     create_session PUT    /session/create(.:format)           {:action=>\"create\",:controller=>\"session\"}
    destroy_session DELETE /session/destroy(.:format)          {:action=>\"destroy\",:controller=>\"session\"}
        admin_users GET    /admin/users(.:format)              {:action=>\"index\",:controller=>\"admin/users\"}
                    POST   /admin/users(.:format)              {:action=>\"create\",:controller=>\"admin/users\"}
     new_admin_user GET    /admin/users/new(.:format)          {:action=>\"new\",:controller=>\"admin/users\"}
    edit_admin_user GET    /admin/users/:id/edit(.:format)     {:action=>\"edit\",:controller=>\"admin/users\"}
         admin_user GET    /admin/users/:id(.:format)          {:action=>\"show\",:controller=>\"admin/users\"}
                    PUT    /admin/users/:id(.:format)          {:action=>\"update\",:controller=>\"admin/users\"}
                    DELETE /admin/users/:id(.:format)          {:action=>\"destroy\",:controller=>\"admin/users\"}
     admin_settings GET    /admin/settings(.:format)           {:action=>\"index\",:controller=>\"admin/settings\"}
                    POST   /admin/settings(.:format)           {:action=>\"create\",:controller=>\"admin/settings\"}
  new_admin_setting GET    /admin/settings/new(.:format)       {:action=>\"new\",:controller=>\"admin/settings\"}
 edit_admin_setting GET    /admin/settings/:id/edit(.:format)  {:action=>\"edit\",:controller=>\"admin/settings\"}
      admin_setting GET    /admin/settings/:id(.:format)       {:action=>\"show\",:controller=>\"admin/settings\"}
                    PUT    /admin/settings/:id(.:format)       {:action=>\"update\",:controller=>\"admin/settings\"}
                    DELETE /admin/settings/:id(.:format)       {:action=>\"destroy\",:controller=>\"admin/settings\"}
    admin_languages GET    /admin/languages(.:format)          {:action=>\"index\",:controller=>\"admin/languages\"}
                    POST   /admin/languages(.:format)          {:action=>\"create\",:controller=>\"admin/languages\"}
 new_admin_language GET    /admin/languages/new(.:format)      {:action=>\"new\",:controller=>\"admin/languages\"}
edit_admin_language GET    /admin/languages/:id/edit(.:format) {:action=>\"edit\",:controller=>\"admin/languages\"}
     admin_language GET    /admin/languages/:id(.:format)      {:action=>\"show\",:controller=>\"admin/languages\"}
                    PUT    /admin/languages/:id(.:format)      {:action=>\"update\",:controller=>\"admin/languages\"}
                    DELETE /admin/languages/:id(.:format)      {:action=>\"destroy\",:controller=>\"admin/languages\"}
    admin_vacancies GET    /admin/vacancies(.:format)          {:action=>\"index\",:controller=>\"admin/vacancies\"}
                    POST   /admin/vacancies(.:format)          {:action=>\"create\",:controller=>\"admin/vacancies\"}
  new_admin_vacancy GET    /admin/vacancies/new(.:format)      {:action=>\"new\",:controller=>\"admin/vacancies\"}
 edit_admin_vacancy GET    /admin/vacancies/:id/edit(.:format) {:action=>\"edit\",:controller=>\"admin/vacancies\"}
      admin_vacancy GET    /admin/vacancies/:id(.:format)      {:action=>\"show\",:controller=>\"admin/vacancies\"}
                    PUT    /admin/vacancies/:id(.:format)      {:action=>\"update\",:controller=>\"admin/vacancies\"}
                    DELETE /admin/vacancies/:id(.:format)      {:action=>\"destroy\",:controller=>\"admin/vacancies\"}
    admin_countries GET    /admin/countries(.:format)          {:action=>\"index\",:controller=>\"admin/countries\"}
                    POST   /admin/countries(.:format)          {:action=>\"create\",:controller=>\"admin/countries\"}
  new_admin_country GET    /admin/countries/new(.:format)      {:action=>\"new\",:controller=>\"admin/countries\"}
 edit_admin_country GET    /admin/countries/:id/edit(.:format) {:action=>\"edit\",:controller=>\"admin/countries\"}
      admin_country GET    /admin/countries/:id(.:format)      {:action=>\"show\",:controller=>\"admin/countries\"}
                    PUT    /admin/countries/:id(.:format)      {:action=>\"update\",:controller=>\"admin/countries\"}
                    DELETE /admin/countries/:id(.:format)      {:action=>\"destroy\",:controller=>\"admin/countries\"}
                    GET    /admin/languages(.:format)          {:action=>\"index\",:controller=>\"admin/languages\"}
                    GET    /admin/languages/new(.:format)      {:action=>\"new\",:controller=>\"admin/languages\"}
                    GET    /admin/languages/:id/edit(.:format) {:action=>\"edit\",:controller=>\"admin/languages\"}
                    GET    /admin/languages/:id(.:format)      {:action=>\"show\",:controller=>\"admin/languages\"}
    admin_companies GET    /admin/companies(.:format)          {:action=>\"index\",:controller=>\"admin/companies\"}
                    POST   /admin/companies(.:format)          {:action=>\"create\",:controller=>\"admin/companies\"}
  new_admin_company GET    /admin/companies/new(.:format)      {:action=>\"new\",:controller=>\"admin/companies\"}
 edit_admin_company GET    /admin/companies/:id/edit(.:format) {:action=>\"edit\",:controller=>\"admin/companies\"}
      admin_company GET    /admin/companies/:id(.:format)      {:action=>\"show\",:controller=>\"admin/companies\"}
                    PUT    /admin/companies/:id(.:format)      {:action=>\"update\",:controller=>\"admin/companies\"}
                    DELETE /admin/companies/:id(.:format)      {:action=>\"destroy\",:controller=>\"admin/companies\"}
          admin_cvs GET    /admin/cvs(.:format)                {:action=>\"index\",:controller=>\"admin/cvs\"}
                    POST   /admin/cvs(.:format)                {:action=>\"create\",:controller=>\"admin/cvs\"}
       new_admin_cv GET    /admin/cvs/new(.:format)            {:action=>\"new\",:controller=>\"admin/cvs\"}
      edit_admin_cv GET    /admin/cvs/:id/edit(.:format)       {:action=>\"edit\",:controller=>\"admin/cvs\"}
           admin_cv GET    /admin/cvs/:id(.:format)            {:action=>\"show\",:controller=>\"admin/cvs\"}
                    PUT    /admin/cvs/:id(.:format)            {:action=>\"update\",:controller=>\"admin/cvs\"}
                    DELETE /admin/cvs/:id(.:format)            {:action=>\"destroy\",:controller=>\"admin/cvs\"}
 admin_static_index GET    /admin/static(.:format)             {:action=>\"index\",:controller=>\"admin/static\"}
                    POST   /admin/static(.:format)             {:action=>\"create\",:controller=>\"admin/static\"}
   new_admin_static GET    /admin/static/new(.:format)         {:action=>\"new\",:controller=>\"admin/static\"}
  edit_admin_static GET    /admin/static/:id/edit(.:format)    {:action=>\"edit\",:controller=>\"admin/static\"}
       admin_static GET    /admin/static/:id(.:format)         {:action=>\"show\",:controller=>\"admin/static\"}
                    PUT    /admin/static/:id(.:format)         {:action=>\"update\",:controller=>\"admin/static\"}
                    DELETE /admin/static/:id(.:format)         {:action=>\"destroy\",:controller=>\"admin/static\"}
      admin_save_cv POST   /admin/cvs/save(.:format)           {:action=>\"save\",:controller=>\"admin/cvs\"}
        admin_index GET    /admin(.:format)                    {:action=>\"index\",:controller=>\"admin/static\"}
    

解决方法

        将admin_cvs_path替换为
= form_for @cv,:url => admin_cvs_path(@cv.id) do |form|
= form_for @cv,:url => admin_cv_path(@cv.id) do |form|
您可以通过在控制台中调用rake:routes来检查如何调用适当的路径助手     ,        尝试更改:
= form_for @cv,:url => admin_cvs_path(@cv.id) do |form|
至:
= form_for @cv,:url => admin_cvs_path(@cv) do |form|
如果这样做没有帮助,请发布以下内容:
rake routes | grep cv
    ,        这可能是因为单数和复数之间存在冲突。 例如: 单数:人 复数:人 为您的cvs_path提供更好的单数,或者更好(我认为),将您的cvs_path重命名为没有“多个”问题的路由。例如,一个repositories_path而不是cvs_path     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-