ウー。私の最初の質問。
フォームの構成において、かなり基本的なものを見落としているような気がします。私はattachment_fuを使用していますが、このフォームでファイルデータ以外のものを渡すことができません。ユーザーhas_manyプロファイルとプロファイルhas_manyドキュメント。
私のフォームは次のようになります。
<%= error_messages_for :document %>
<% form_for([@user, @profile, @document], :html => {:multipart => true }) do |f| -%>
<p>
<label for="document">Upload A document:</label>
<%= f.file_field :uploaded_data %>
</p>
<%= f.label :description%>
<%= f.text_field :description%>
<p>
<%= submit_tag 'Upload' %>
</p>
<% end -%>
そして、これがコントローラーです:
before_filter :require_user, :get_profile
def new
@document = @profile.documents.build
end
def create
@document = @profile.documents.build(params[:document])
if @document.save
flash[:notice] = 'Your document was successfully created.'
redirect_to document_url(@document)
else
render :action => :new
end
end
private
def get_profile
@user = current_user
@profile = @user.profiles.find(params[:profile_id])
end
ログには、投稿されたすべての画像データが表示されますが、説明、またはさらに重要なことに、ドキュメントモデルの外部キーであるprofile_idを渡すことができません。私はこれに一晩中立ち往生していて、今朝は何も新鮮なことを考えることができません。どんな助けでも素晴らしいでしょう。