【问题标题】:RefineryCMS routesRefineryCMS 路线
【发布时间】:2014-07-15 03:59:54
【问题描述】:

我有一个 RefineryCMS 2.1.2 应用程序,我在其中创建了一个名为属性的引擎。当我执行 rake 路线时,我得到以下可用路线

                        email_properties_property POST   /properties/:id/email(.:format)                                 refinery/properties/properties#email
                            properties_properties GET    /properties(.:format)                                           refinery/properties/properties#index
                              properties_property GET    /properties/:id(.:format)                                       refinery/properties/properties#show
     update_positions_properties_admin_properties POST   /refinery/properties/update_positions(.:format)                 refinery/properties/admin/properties#update_positions
                      properties_admin_properties GET    /refinery/properties(.:format)                                  refinery/properties/admin/properties#index
                                                  POST   /refinery/properties(.:format)                                  refinery/properties/admin/properties#create
                    new_properties_admin_property GET    /refinery/properties/new(.:format)                              refinery/properties/admin/properties#new
                   edit_properties_admin_property GET    /refinery/properties/:id/edit(.:format)                         refinery/properties/admin/properties#edit
                        properties_admin_property PUT    /refinery/properties/:id(.:format)                              refinery/properties/admin/properties#update
                                                  DELETE /refinery/properties/:id(.:format)                              refinery/properties/admin/properties#destroy
                       properties_property_images GET    /properties/property_images(.:format)                           refinery/properties/property_images#index
                        properties_property_image GET    /properties/property_images/:id(.:format)                       refinery/properties/property_images#show
update_positions_properties_admin_property_images POST   /refinery/properties/property_images/update_positions(.:format) refinery/properties/admin/property_images#update_positions
                 properties_admin_property_images GET    /refinery/properties/property_images(.:format)                  refinery/properties/admin/property_images#index
                                                  POST   /refinery/properties/property_images(.:format)                  refinery/properties/admin/property_images#create
              new_properties_admin_property_image GET    /refinery/properties/property_images/new(.:format)              refinery/properties/admin/property_images#new
             edit_properties_admin_property_image GET    /refinery/properties/property_images/:id/edit(.:format)         refinery/properties/admin/property_images#edit
                  properties_admin_property_image PUT    /refinery/properties/property_images/:id(.:format)              refinery/properties/admin/property_images#update
                                                  DELETE /refinery/properties/property_images/:id(.:format) 

如果我尝试在我的控制器中使用类似的东西,尽管它失败了

@property = Property.find(params[:id])
redirect_to properties_property_path(@property)

它正在正确获取属性,只是没有找到路线。这是错误

undefined method `properties_property_path' for #<Refinery::Properties::PropertiesController:0x007fcf298a3b58>

【问题讨论】:

    标签: ruby-on-rails routes refinerycms


    【解决方案1】:

    由于 Rails 的引擎隔离,您必须使用以下内容:

    @property = Property.find(params[:id])
    redirect_to refinery.properties_property_path(@property)
    

    这可确保您从 Refinery 的路由助手(它所在的位置)下访问路由,而不是您的 Rails 应用程序的路由。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-28
      相关资源
      最近更新 更多