`
jiajie0531
  • 浏览: 27672 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
9.1 Basic Authentication 基本认证 如果你想要在线发布你的blog,任何人都能够增加,编辑和删除articles,或者删除comments。   Rails提供了一个简易的HTTP验证系统,在这种情况下能足以胜任。   在ArticlesController里,我们需要用一个方式来阻止访问任意的actions,如果访问者没有被认证的,这儿我们可以用Rails http_basic_authenticate_with 方法,如果在那个方法允许的情况下, 来允许访问所需求的action。   为了使用这个认证系统,我们明确规定它位于ArticlesContr ...
如果你删除一个article,那么它关联的comments同样也会被删除。否则他们会在数据库中占据掉空间。Rails允许你用dependent属性,这是涉及到关联性中的一个属性来获取到这个。修改Article模型,app/models/article.rb 类似于下面: classArticle < ActiveRecord::Base   has_many :comments, dependent: :destroy   validates :title, presence: true,                     length: { minimum: 5} ...
删除comments 一个blog的另外一个重要的特征就是能够删除多余的comments。为了做到这个,我们需要在视图中实现一系列的代码,以及在CommentsController中实现destroy的action。   因此首先,让我们来增加删除的链接,在局部文件中 app/views/comments/_comment.html.erb: <p>   <strong>Commenter:</strong>   <%= comment.commenter %> </p>   <p>   < ...
跳转一个局部form 让我们同样地把那个新的comment部分移出来,形成自己的局部文件。再次创建一个文件 app/views/comments/_form.html.erb 包含下面代码   <%= form_for([@article, @article.comments.build]) do |f| %>   <p>     <%= f.label :commenter %><br>     <%= f.text_field :commenter %>   </p>   <p>   ...
重构 现在我们已经有可以操作的articles和comments,来看一下模板app/views/articles/show.html.erb。它变得越来越冗长和笨拙。我们可以用局部文件来清理.   7.1 Rendering Partial Collections 首先,我们来建一个comment的局部文件, 把用来显示article所有的comment提取出来。创建这个文件 app/views/comments/_comment.html.erb,编辑上下面的代码: <p>   <strong>Commenter:</strong> ...
创建一个控制器 刚在在学习模型的相关内容,你可以调整一下注意力来创建一个相对应的控制器。我们将再一次用以前用过的相同的命令: $ rails generate controller Comments 这个命令会创建六个文件和一个空文件夹: File/Directory Purpose app/controllers/comments_controller.rb Comments 控制器 app/views/comments/ 控制器的视图被存放在这里 test/controllers/comm ...
为 Comments(评论) 增加一个路由 正如同 welcome的控制器一样,我们需要增加一个路由,以致于Rails会知道指向何处,让我们可以看到 comments。再一次打开配置文件  config/routes.rb,参照下面这样编辑: resources :articlesdo   resources :comments end 在articles内创建了一个内嵌的资源comments. 这是涉及到继承关联性的另一个部分,存在于 articles 和 comments之间。 p.s. 想要了解更多的关于路由的信息,可以参考 Rails Routing    ...
Active Record关联性让你能简单地声明两个模型间的关系。这个例子就是关于 评论 和 文章 这两个模型间的关系, 你可以通过下面的说明来了解两者之间关系: 每一个评论都属于一篇文章的。 每一篇文章可以拥有许多个评论的。 事实上,这已经非常接近其语法结构了,Rails通常就是这样来声明其关联性的。你已经在 评论 的模型中看到过这一行代码了 app/models/comment.rb,使得每一个评论都属于一篇文章: classComment < ActiveRecord::Base   belongs_to :article end 你将需要去编辑这个文 ...
是时候为应用程序增加第二个模型了。第二个模型将会用来处理关于文章的评论Comment。   6.1 Generating a Model   我们将会看到之前用过的同样的生成器,在创建Article模型的时候。这一次我们将会创建一个Comment模型,来关联到文章的评论。在命令窗口运行这个命令: $ rails generate model Comment commenter:string body:text article:references 这个命令将会产生四个文件: 文件 目的 db/migrate/2014012020101 ...
现在我们准备来完成“D”这一部分,“CRUD”其中的一点,从数据库中删除articles。继续REST这茬儿,对于删除article的路由,只要运行 rake routes 查看其输出内容: DELETE/articles/:id(.:format)      articles#destroy delete的路由方法 ...
我们的edit页面和new页面非常相似,事实上,他们共同共享着相同的代码用来显示form。 让我们用一个局部视图来剔除重复的代码。按照惯例,局部文件的前缀是一下划线。   ps. 想了解更多的局部文件信息,可以参考Layouts and Re ...
我们已经完成了CRUD中的“CR”部分了。现在让我们关注“U”这部分,更新articles。   第一步我将要做的是,在ArticlesController中增加一个action edit。 defedit @article= Article.find(params[:id]) end 这个视图将会包含一个form,类似于我们用过的那个,在我们创建新的articles的时候。创建一个文件app/views/articles/edit.html.erb,编辑如下: <h1>Editing article</h1>   <%= fo ...
Global site tag (gtag.js) - Google Analytics