ruby on rails - Railstutorial.org书,更改为嵌套路由



嗨,我一直在学习Rails教程,创建用户和帖子,以及一个显示帖子的提要。然而,作者从未使用过嵌套资源,这在rails中似乎非常重要,我想自己发现如何使用它们。然而,当我根据Ruby on rails指南嵌套post资源时,它随后破坏了我所有的表单和路径。

与其从头开始,我更愿意切换到嵌套资源,并在此过程中确切地了解差异是什么。有人能告诉我该怎么做吗?谢谢你的帮助。

我特别困惑的是如何处理饲料。当前feed_item调用旧的post_path。

共享/_feed_item部分

<tr>
  <td class="avatar">
   <%= link_to avatar_for(feed_item.user), feed_item.user %>
  </td>
  <td class="post">
   <span class="title"><%= link_to feed_item.title, feed_item %></span><br />
   <span class="content">the plot: <%= feed_item.content %></span><br />
   <span class="timestamp">
   Posted <%= time_ago_in_words(feed_item.created_at) %> ago.
   </span>
 </td>
 </td>
   <% if current_user?(feed_item.user) %>
 <td>
  <%= link_to "delete", feed_item, :method => :delete,
                                  :confirm => "You sure?",
                                  :title => feed_item.content %>
 </td>
 <% end %>
</tr>

micropost控制器
class Micropost < ActiveRecord::Base
  .
  .
  .
  default_scope :order => 'microposts.created_at DESC'
  # Return microposts from the users being followed by the given user.
 scope :from_users_followed_by, lambda { |user| followed_by(user) }
  private
    # Return an SQL condition for users followed by the given user.
    # We include the user's own id as well.
    def self.followed_by(user)
      followed_ids = %(SELECT followed_id FROM relationships
                       WHERE follower_id = :user_id)
      where("user_id IN (#{followed_ids}) OR user_id = :user_id",
            { :user_id => user })
    end
end

在本章第11.3.3节中开始http://ruby.railstutorial.org/chapters/user-microposts#top,并在本章第12.3节中实际构建http://ruby.railstutorial.org/chapters/following-users#top

这里有一些链接可以帮助你开始:

railscasts.com/episodes/139-nested-resources
railscasts.com/episodes/196-nested-model-form-part-1
railscasts.com/episodes/197-nested-model-form-part-2

相关内容

  • 没有找到相关文章

最新更新