Railstutorial.org книга, переходящая к вложенным маршрутам

#ruby-on-rails #ruby-on-rails-3 #nested-resources

#ruby-on-rails #ruby-on-rails-3 #вложенные ресурсы

Вопрос:

Привет, я следовал инструкциям в книге Rails Tutorial, создавая пользователей и публикации, а также ленту для показа записей. Однако автор никогда не использовал вложенные ресурсы, которые кажутся очень важными в rails, и я хотел бы узнать, как их использовать самостоятельно. Однако, когда я вкладываю ресурс post в соответствии с руководствами Ruby on rails, впоследствии это нарушает все мои формы и пути.

Вместо того, чтобы начинать сначала, я хотел бы перейти на вложенные ресурсы и в процессе точно узнать, в чем различия. Кто-нибудь может помочь с тем, как я бы поступил по этому поводу? Спасибо за любую помощь.

Особенно я озадачен тем, как поступить с каналом. В настоящее время 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>
  

контроллер микропостинга

 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

Ответ №1:

Вот несколько ссылок, которые помогут вам начать:

railscasts.com/episodes/139-nested-resources
railscasts.com/episodes/196-вложенная модель-форма-часть-1
railscasts.com/episodes/197-вложенная модель-форма-часть-2