質問

ウー。私の最初の質問。

私は自分のフォームの建設ではかなり基本的な何かを見下ろすてる感じを持っています。私は、ファイルデータのほかに何かを渡すためにこのフォームを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を、説明を渡したりすることはできません。私はすべての夜、この上で立ち往生し、今朝の新鮮なものを考えることはできません。すべてのヘルプは素晴らしいことだ。

役に立ちましたか?

解決

profile_idのために、あなたのような何かが必要になります

<%= f.hidden_field :profile_id %>

どのコントローラ内で使用すると、必要に応じてparams[:document][:profile_id]を使用してで取得します。 あなたのコードが何をしているかを推測しようとしているから、私はこのコントローラにあなたを持っています。

params[:profile_id]がすでにどんなルートから設定されていると思われるが、

私はあなたが説明のために何も表示されない理由はわかりません。それはparams[:document][:description]としてあなたのコントローラに入ってくるべきである。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top