2011-07-30 6 views
0

私は新しい男、Javaプログラマーです。rails3名前空間の質問を使用

名前空間を使用すると、rails3で問題が発生しました。

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

編集アプリ/モデル/ NS/e1.rb

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

編集アプリ/ビュー/ NS/E1の/ show.html.erb

<p id="notice"><%= notice %></p> 
<p> 
    <b>Name:</b> 
    <%[email protected]_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 
+0

routes.rbを表示できますか? –

答えて

0

私は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 

これはあなたのためのオプションです:

を私は2つのモデルを以下のがありますか?

+0

ありがとう、私は解決策を見つけたhttp://stackoverflow.com/questions/3062704/rails-3-routes-and-modulesによると。 – user870437