0

次のことを頭に入れようとしているだけで、おそらく基本的なことは知っています。私は .each を使用してレコードの配列をループしており、同じページで ajax リクエストを介してクリックした投稿を表示したいと考えています

  <h2>Recent News</h2>
   <ul>
    <% @tynewyddpost.reverse.each do |t| %>
     <li>
       <% single = t.photos.first %>
        <a class="photo" href="#"><%= image_tag(single.avatar.url(:thumbnail_news_images)) %></a>
         <p><%= link_to t.title, tynewyddnews_path(:type => 'tynewyddnews'), :remote => true %></p>
         <p class="date"><%= date_output(t.published_on) %></p>
      </li> 
     <% end %>
    </ul>

そのため、タイトルをクリックすると、どのレコードをクリックしても同じ投稿が表示されます。

私がレンダリングする部分

    <div class="post-item">
     <% @tynewyddpost.reverse.each do |t| %>
      <h2><%= t.title %></h2>
       <div id="work-samples"> 
        <% for photo in t.photos %>
         <%= image_tag(photo.avatar.url(:news_images), :class => 'work-sample') %>
        <% end %>
      </div>  
  <p class="post-description"><%= t.comments.html_safe %></p>
   <div class="post-item-panel">
      <ul>
       <li class="date">
        <p><%= date_output(t.published_on) %></p>
       </li>
      </ul>
  </div>
</div>
  <% end %>

コントローラ

 def tynewyddnews
@title = 'Ty Newydd News'
tynewyddpost = Post.tynewydd_posts.reverse
tynewyddpost.pop
@tynewyddpost = tynewyddpost
@tynewyddpostlatest = Post.tynewydd_posts.first

終わり

範囲

scope :tynewydd_posts, :include => :department, :conditions => {"departments.name" => "Ty Newydd"}, :order => "posts.published_on DESC"

私の質問は、クリックした特定の投稿を取得する方法です。できない

<%= @tynewyydpost.title %>

配列の未定義のメソッドタイトルを取得すると。ここで少し理論を知っていますが、このインスタンスで配列から個々のレコードを取得する方法

どんな助けでも大歓迎

4

2 に答える 2

1

この投稿のすべてのリンク ID で指定する必要があります。

例えば:

<%= link_to t.title, tynewyddnews_path(:type => 'tynewyddnews'), :post_id=>t.id, :remote => true %>

そして、id でこれを見つけることにより、呼び出しているコントローラー アクションで指定するよりも

@tynewyddnews=Post.find(params[:post_id])

あなたが部分的なインスタンスであるよりも @tynewyddnews をクリックして投稿します

于 2013-04-09T19:39:13.213 に答える