Ruby on rails 当模型使用“:has_many”和嵌套路由时,结果路径是什么?

Ruby on rails 当模型使用“:has_many”和嵌套路由时,结果路径是什么?,ruby-on-rails,ruby-on-rails-3.1,Ruby On Rails,Ruby On Rails 3.1,前言(因为这是我的第一篇rails文章) 我喜欢rails,但现在它让我疯狂! 两年前我在rails 2.3上玩过。现在我从rails 3.1开始。都是为了好玩。Rails是我在web开发中见过的最好、最专业的。 但是因为一行代码有这么大的威力,所以学习它是相当困难的!!! 铁路的魔力很难得到:-) 问题 我有一个嵌套的模型和路由。一页有许多文章。 我呈现pages/show.html.haml,并在页面中列出所有文章。每篇文章的下方都应有“新建”、“编辑”和“销毁”按钮 render @art

前言(因为这是我的第一篇rails文章) 我喜欢rails,但现在它让我疯狂! 两年前我在rails 2.3上玩过。现在我从rails 3.1开始。都是为了好玩。Rails是我在web开发中见过的最好、最专业的。 但是因为一行代码有这么大的威力,所以学习它是相当困难的!!! 铁路的魔力很难得到:-)

问题 我有一个嵌套的模型和路由。一页有许多文章。 我呈现pages/show.html.haml,并在页面中列出所有文章。每篇文章的下方都应有“新建”、“编辑”和“销毁”按钮

render @articles
这是我的视图/articles/_article.html.haml

%li.article_list{:id=>"a#{article.id}"}
    .article
        .article_head
            %h2
                =article.title:class => "icon"), '#'
        .clear
        .article_content
            = raw parse_content(article.content)
            -if admin?
                #article_menu
                    %ul
                        %li= link_to icon_new     + 'New...', new_page_article_path(@page)
                        %li=# link_to icon_edit    + 'Edit', edit_page_article_path(WHAT SHALL BE IN HERE???)
                        %li= link_to icon_destroy + 'Destroy', [article.page, article], :confirm => "#{article.title}\n\nAre you sure?", :method => :delete
我的问题是这一行

%li=# link_to icon_edit    + 'Edit', edit_page_article_path(WHAT SHALL BE IN HERE???)
我想编辑这篇文章,但我不知道如何编辑!我已经试了好几个小时了

总的来说,我一直遵循这本不错的指南:


其他信息

models/article.rb

    class Article < ActiveRecord::Base
      attr_accessible :title, :content, :publish_at, :fan_only

      belongs_to :page

      validates :content, :presence => true
      validates :page_id, :presence => true

      default_scope :order => 'articles.created_at DESC'
    end
文章的一部分\u controller.rb

  # GET /articles/1/edit
  def edit
    @page = Page.find(params[:page_id])
    @article = @page.articles.find(params[:id])
  end

rake routes
应该向您显示所有路径,并向您提示其中的内容

根据您发布的代码,答案是应该参考
页面文章
页面
文章
-我不确定它是哪一个,因为我不知道您的模型是什么

有了两个模型,
Page
Article
,以及嵌套的资源,那么您的
routes.rb
文件中应该有一个嵌套的路由,看起来像:

resources :pages do
  resources :articles
end
…它设置到
/pages/:page\u id/articles/:id/edit

…在你的应用程序中,它看起来像是
edit\u page\u article\u path(@page,@article)


有关路由+嵌套资源的更多详细信息:

rake ROUTS
应向您显示所有路径,并提示其中的内容

根据您发布的代码,答案是应该参考
页面文章
页面
文章
-我不确定它是哪一个,因为我不知道您的模型是什么

有了两个模型,
Page
Article
,以及嵌套的资源,那么您的
routes.rb
文件中应该有一个嵌套的路由,看起来像:

resources :pages do
  resources :articles
end
…它设置到
/pages/:page\u id/articles/:id/edit

…在你的应用程序中,它看起来像是
edit\u page\u article\u path(@page,@article)


有关路由+嵌套资源的更多详细信息:

谢谢您的回答。你猜对了我的资源,我有两个模型。我在帖子中添加了更多信息。不幸的是,这不起作用:编辑页面文章路径(@page,@article)如果我调用,我得到我的编辑掩码,但没有内容在…我得到了!我得到了它!编辑页面文章路径(@page,article)仍然没有内容,但这是另一个故事。非常感谢你!!!太棒了(看起来你已经修好了)!我更新了我的答案,回应了你的更新。谢谢你的回答。你猜对了我的资源,我有两个模型。我在帖子中添加了更多信息。不幸的是,这不起作用:编辑页面文章路径(@page,@article)如果我调用,我得到我的编辑掩码,但没有内容在…我得到了!我得到了它!编辑页面文章路径(@page,article)仍然没有内容,但这是另一个故事。非常感谢你!!!太棒了(看起来你已经修好了)!我更新了我的答案,并回复了您的更新。
resources :pages do
  resources :articles
end