【问题标题】:Couldn't find Category without an ID找不到没有 ID 的类别
【发布时间】:2013-08-15 06:29:46
【问题描述】:

在我使用 globalize3 gem 对我的应用程序进行全球化后,我遇到了这样的错误。在此之前它运行良好。正因为如此,我将所有类别翻译成 3 种不同的语言。而此时它找不到该类别。因为我在链接中使用该类别名称。因此,如果有 3 个类别,则每次都应对应于该类别。但事实并非如此。 这是我的代码。

我的应用布局

 <% @categs1.each do |categ|%>
    <li>  <%= link_to (categ.name), products_path(:category => categ.name)   %> </li>
 <%end%>

我的路线文件

  root :to => 'home#index'

devise_for :admin_users, ActiveAdmin::Devise.config
  ActiveAdmin.routes(self)

namespace :products do
  resources :categories do
    resources :products
  end
  resources :products, only: :index
end

match '/:locale' => 'home#index'
scope "(:locale)", :locale => /en|lv|ru/ do
 resources :products, :manufacturers, :categories, :news, :ActiveAdmin

*Products_controller*

 @categs1 =  Category.find(:conditions => { :id => [16,21,29,30] })

如果您需要其他代码,请询问我。我已经在这里卡了两天了:(

【问题讨论】:

    标签: ruby-on-rails internationalization globalize3


    【解决方案1】:

    您可以像下面这样使用where 来获得您想要的结果。

    在你的ProductsController

    @categs1 =  Category.where({ :id => [16,21,29,30] })
    

    或者如果您想坚持使用find,请使用:

    @categs1 =  Category.find(:all, :conditions => { :id => [16,21,29,30] })
    

    【讨论】:

      猜你喜欢
      • 2022-09-28
      • 1970-01-01
      • 1970-01-01
      • 2011-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-10
      • 2012-05-24
      相关资源
      最近更新 更多