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