ROR学习记录2
上次我们完成了一个最简单的博客,现在来完善它。首先我们需要给填入的信息做一些验证
打开app/models/post.rb加入
validates :title, :presence => true, :uniqueness => true
validates :content, :presence => true
presence表示必须存在,不能为空
uniqueness表示唯一,不能重复
这样设置之后,不符合的值就不会通过
现在我们开始修改Views,打开views/posts/index.html.erb,修改成
<h1>Recent posts</h1>
<% @posts.each do |post| %>
<%= render :partial => post %>
<%= link_to 'Edit', edit_post_path(post) %>
<%= link_to 'Destroy', post, method: delete, data: { confirm: 'Are you sure?' } %>
<% end %>
<br />
<%= link_to 'New Post', new_post_path %>
render :partial => post
这段代码表示引入views/posts/目录下名为_post.html.erb的模板
在views/posts/目录下新建一个名为_post.html.erb的文件修改成
<div class="post">
<h2><%= link_to_unless_current post.title, post %></h2>
<div class="content"><%= simple_format post.content %></div>
</div>
然后我们来修改views/posts/show.html.erb,这个页面其实和index页面很像,我们没必要再做一次,这就是我们之前制作_post.html.erb模板的原因。将文件show.html.erb修改成
<%= render :partial => @post %>
<%= link_to 'Edit', edit_post_path(@post) %>
<%= link_to 'Back', post_path %>
最后博客的样式就统一了,以后只需要修改一处即可。