0

在我使用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

*产品_控制器*

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

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

4

1 回答 1

1

您可以使用where以下方法来获得您想要的结果。

在你的ProductsController

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

或者如果你想坚持find使用这个:

@categs1 =  Category.find(:all, :conditions => { :id => [16,21,29,30] })
于 2013-08-15T06:33:30.797 回答