2012-10-02 2 views
0

좋아, 문제를 설명하는 단어를 찾는 데 큰 어려움이 있습니다. 솔직히 말하면, 당신이 이해하고 도와 줄 수 있기를 바랍니다. 나는 미쳐 가고 있습니다.중첩 된 양식 필드를 열거하십시오.

예를 들어 User, Team, ReportUserReport의 네 가지 모델이 있다고 가정 해 보겠습니다. 나는이 있습니다

class Report < ActiveRecord::Base 
    belongs_to :team 
    has_many :user_reports 
    accepts_nested_attributes_for :user_reports 
end 
class UserReport < ActiveRecort::Base 
    belongs_to :report 
end 

class ReportsController < ApplicationController 
    def new 
    @team = Team.find params[:team_id] 
    @report = Report.new 
    @team.users.each do |user| 
     ur = @report.user_reports.build 
     ur.user_id = user.id 
    end 
    end 
end 

내가 지금 가지고있는 것은 사이트의 사용자가 Team을 선택한다는 것입니다. 물론 팀에는 User 개의 무리가 있습니다. 각각에 대해 UserReportReport에 추가됩니다. new.html.haml에서는 다음과 같이 작성합니다.

=fields_for :user_reports do |b| 
    =b.hidden_field :user_id, user.id 
    =user.name 

그리고 문제가 있습니다. 이 양식 작성기에 user.name 또는 user.id 또는 기타 항목을 얻으려면 어떻게해야합니까? 그렇지 않으면 사이트 사용자가 누구인지를 알 수 없으므로 사용자 이름을 출력해야합니다.

나는 내 문제를 이해했으면 좋겠다. 지금은 필사적이다. 보기에

답변

1
class ReportsController < ApplicationController 
    def new 
    @team = Team.find params[:team_id] 
    @report = Report.new 
    @urs = [] 
    @team.users.each do |user| 
     ur = @report.user_reports.build 
     ur.user_id = user.id 
     @urs << ur 
    end 
    end 
end 

:

= form_for @report do |f| 
    =f.fields_for :user_reports, @urs do |b| 
    =b.hidden_field :user_id 
    =b.object.user.name