我的項目中有用戶可以創建活動併爲其他人的活動評分。我在兩個視圖中使用了一個_activity部分:一個列出用戶自己的活動,一個列出用戶尚未評級的其他活動。在後一種情況下,我還包括一個表格來評估該活動。它應該使用當前用戶的ID,活動的ID和他們的評級向評級模型提交。我怎樣才能得到活動ID,因爲他們不是@activity變量,只是一個@activities集合,它爲每個成員呈現部分?我應該切換到每種方法嗎?Rails嵌套資源表單
這裏是我到目前爲止的代碼:爲用戶自己的活動指數
:
class ActivitiesController < ApplicationController
def index
@user = current_user
@activities = @user.activities.paginate(page: params[:page], :per_page => 10).order(created_at: :desc)
end
他們對他人的活動頁面率:
def not_rated
@user = current_user
@activities = Activity.not_rated(current_user).paginate(page: params[:page], :per_page => 10).order(created_at: :desc)
@rating = Rating.new
end
的第二兩個視圖稱爲部分(not_rated.html.erb):
<div class="rate_activities">
<h3> Rate Activities! (<%= @activities.count %>)</h3>
<% if @activities.any? %>
<%= render @activities %>
<%= will_paginate @activities %>
<% end %>
</div>
的_activity部分:
<ul class="activities" >
<li class="activity">
<span class="content"><%= activity.content %></span>
<span class="timestamp"><%= time_ago_in_words(activity.created_at) %> ago</span>
<% unless activity.user_id == @user.id %>
<%= form_for([@rating, activity]) :url => new_activity_rating_path do |f| %>
<p><%= f.text_field :rating %></p>
<%= f.submit "Submit my Activity", class: "mybutton" %>
<% end %>
<% end %>
</li>
謝謝!
我添加了not_rated.html.erb視圖以進行說明:它不是專門呈現部分圖像,而是呈現@activities。我可以在這裏做同樣的事嗎? – thisAnneM
也傳遞集合,請參閱已更新的答案 – NARKOZ
其中'@ activity'爲'Activity.new',我想 – NARKOZ