【问题标题】:Using rails3 namespace question使用 rails3 命名空间问题
【发布时间】:2011-07-30 09:16:35
【问题描述】:

我是一个新人,一个java程序员。

在rails3中使用命名空间遇到困难。

rails g scaffold ns::e1 name:string  
rails g model ns::e2 name:string e1:references  
rake db:migrate

编辑 app/models/ns/e1.rb

class Ns::E1 < ActiveRecord::Base  
  has_many :e2s  
end

编辑 app/views/ns/e1s/show.html.erb

<p id="notice"><%= notice %></p>  
<p>  
  <b>Name:</b>  
  <%=@ns_e1.name%>  
</p>  
<%= form_for([@ns_e1, @ns_e1.e2s.build]) do |f| %>  
  <div class="field">  
    <%= f.label :name %>  
    <br/>  
    <%= f.text_field :name %>  
  </div>  
  <div class="actions">  
    <%= f.submit %>  
  </div>  
<% end %>  
<%= link_to 'Edit', edit_ns_e1_path(@ns_e1)%>|  
<%= link_to 'Back', ns_e1s_path %>  

错误是未定义的方法`ns_e1_ns_e2s_path'

如何配置 routes.rb ?谢谢

谢谢ream88,我找到了解决办法。

编辑 routes.rb。

namespace :ns do
  resources :e1s do
    resources :e2s, :as => :ns_e2s
  end
end

【问题讨论】:

    标签: ruby-on-rails namespaces routes reference


    【解决方案1】:

    自 2007 年开始使用 Rails 以来,我一直使用命名空间模型,不幸的是,Rails 并不擅长处理命名空间。现在使用 Rails 3 好多了,但是您仍然需要编写比平时更多的代码。 And I'm always ending up, writing my own routes without namespaces。例如:

    我有以下两种型号:

    class MyAwesomeBlog::User < AR::Base
    end
    
    class MyAwesomeBlog::Post < AR::Base
    end
    
    # routes.rb
    resources :users
    resources :posts
    

    这适合你吗?

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-05
    • 1970-01-01
    • 2023-01-22
    • 1970-01-01
    • 2013-03-26
    • 2016-05-14
    • 1970-01-01
    相关资源
    最近更新 更多