これが私のコードの構造です。私は各クレポンにビデオを添付しており、私が知る限り、それをアップロードすることに成功しています. 問題は、構造が保存された後に変換する必要がある場合です。新しく更新されたネストされた属性 (lesson_controller を参照) にアクセスしたいのですが、その方法がわかりません。
どうもありがとう!
橋脚。
レッスン.rb
class Lesson < ActiveRecord::Base
has_one :user
has_many :comments, :dependent => :destroy
has_many :cresponses, :dependent => :destroy
acts_as_commentable
accepts_nested_attributes_for :comments, :reject_if => lambda { |a| a[:body].blank? }, :allow_destroy => true
accepts_nested_attributes_for :cresponses
ここに cresponse.rb があります
class Cresponse < ActiveRecord::Base
belongs_to :lesson
attr_accessible :media, :accepted, :description, :user_id
# NOTE: Comments belong to a user
belongs_to :user, :polymorphic => true
# Paperclip
require 'paperclip'
has_attached_file :media,
:url => "/system/:lesson_id/:class/:basename.:extension",
:path => ":rails_root/public/system/:lesson_id/:class/:basename.:extension"
ここに私のHTMLビューがあります
<% @cresponse = @lesson.cresponses.build %>
<%= form_for @lesson, :html => { :multipart => true } do |f| %>
<td class="list_discussion" colspan="2">
<div class="field">
<%= f.fields_for :cresponses, @cresponse, :url => @cresponse, :html => { :multipart => true } do |builder| %>
Upload : <%= builder.file_field :media %><br />
Description : <%= builder.text_field :description %>
<%= builder.hidden_field :user_id , :value => current_user.id %>
<% end %>
</div>
</td>
ここにlesson_controller.rbがあります - 更新
def update
@lesson = Lesson.find(params[:id])
respond_to do |format|
if @lesson.update_attributes(params[:lesson])
**if @lesson.cresponses.** <-- not sure how to find the cresponse that I need to convert
puts("Gotta convert this")
end