如何在Rails 3的资源路由中使用不可数名词?

时间:2010-07-09 22:10:11

标签: ruby-on-rails

我有一个名为Aircraft的模型,变形为不可数,而且它是 使我抓狂。在Rails 3“beta中处理这个问题的正确方法是什么 4" ?

resources :aircraft do
  member do
    get :flights
  end
end

# Of course these work for some actions and not others.
match 'aircraft', :to => 'aircraft#index', :as => :aircraft
match 'aircraft/:id', :to => 'aircraft#show', :as => :aircraft_instance

1 个答案:

答案 0 :(得分:0)

我认为这只是:

resources :aircraft, :singular => :aircraft_instance

然后你link_to他们就是这样:

link_to 'Singular aircraft', aircraft_instance_path(@aircraft)
link_to 'All aircraft', aircraft_path(@aircraft)

修改

看起来beta4认为飞机中有多架飞机:

rails console
> :aircraft.to_s.pluralize
=> "aircrafts"

如果您只是将resources :aircraft放入路线,那么link_toaircraft_path(@aircraft) aircrafts_path成功了吗?如果是这样,您可能需要为ActiveSupport::Inflector编写初始值设定项以定义您自己的自定义变形。