Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 路由子控制器_Ruby On Rails - Fatal编程技术网

Ruby on rails 路由子控制器

Ruby on rails 路由子控制器,ruby-on-rails,Ruby On Rails,我的路线如下所示: map.namespace(:admin) do |admin| admin.resources :pages end class Admin::PagesController < ApplicationController <% form_for(@page) do |f| %> <%= f.error_messages %> <p> <%= f.label :title %>

我的路线如下所示:

map.namespace(:admin) do |admin|
  admin.resources :pages
end
class Admin::PagesController < ApplicationController
<% form_for(@page) do |f| %>
    <%= f.error_messages %>
    <p>
        <%= f.label :title %>
        <%= f.text_field :title %>  
    </p>
    <p>
        <%= f.label :body %>
        <%= f.text_area :body %>
    </p>
    <p>
        <%= f.submit "Create" %>
    </p>
<% end %>

<%= link_to 'Back', :action => "index" %>
我的控制器名称如下所示:

map.namespace(:admin) do |admin|
  admin.resources :pages
end
class Admin::PagesController < ApplicationController
<% form_for(@page) do |f| %>
    <%= f.error_messages %>
    <p>
        <%= f.label :title %>
        <%= f.text_field :title %>  
    </p>
    <p>
        <%= f.label :body %>
        <%= f.text_area :body %>
    </p>
    <p>
        <%= f.submit "Create" %>
    </p>
<% end %>

<%= link_to 'Back', :action => "index" %>
class Admin::PagesController
我的新.html.erb文件如下所示:

map.namespace(:admin) do |admin|
  admin.resources :pages
end
class Admin::PagesController < ApplicationController
<% form_for(@page) do |f| %>
    <%= f.error_messages %>
    <p>
        <%= f.label :title %>
        <%= f.text_field :title %>  
    </p>
    <p>
        <%= f.label :body %>
        <%= f.text_area :body %>
    </p>
    <p>
        <%= f.submit "Create" %>
    </p>
<% end %>

<%= link_to 'Back', :action => "index" %>


“索引”%>
然而,我不断发现以下错误:

NoMethodError in Admin/pages#new

Showing app/views/admin/pages/new.html.erb where line #1 raised:

undefined method `pages_path' for #<ActionView::Base:0x104528000>
Extracted source (around line #1):

1: <% form_for(@page) do |f| %>
2:  <%= f.error_messages %>
3:  <p>
4:      <%= f.label :title %>
管理/页面中的命名错误#新增 显示第1行出现的app/views/admin/pages/new.html.erb: 未定义的方法“pages\u path”# 提取的源(第1行附近): 1: 2: 3: 4:
我不明白为什么,因为我假设路线是正确的。如果我尝试其他途径,那么它将一直有效,直到我尝试提交表单,然后它认为它应该将我带回site.com/pages,而它不应该这样做


有什么想法吗?

您的模型
@page
不知道它正在这样的名称空间中使用。您可以使用
rake routes
查看管理命名空间的所有路由。您需要手动更改url路径:

<% form_for(@page) do |f| %>

您的模型
@page
不知道它正在这样的命名空间中使用。您可以使用
rake routes
查看管理命名空间的所有路由。您需要手动更改url路径:

<% form_for(@page) do |f| %>