无法找到没有ID的类别

时间:2013-08-15 06:29:46

标签: ruby-on-rails internationalization globalize3

在使用 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] })

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

1 个答案:

答案 0 :(得分:1)

您可以使用以下where来获得所需的结果。

ProductsController

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

或者如果你想坚持find,那就用这个:

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