呜。我的第一个问题。
我有一种感觉,我忽略了在构建表格时非常基本的东西。我正在使用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,这是我的文档模型中的外键。我整夜都被困在这里,今天早上想不出什么新鲜事。任何帮助都会很棒。
答案 0 :(得分:0)
对于profile_id
,您需要以下内容:
<%= f.hidden_field :profile_id %>
如果需要,您可以在控制器中使用params[:document][:profile_id]
。
虽然我试图猜测你的代码在做什么,但我怀疑params[:profile_id]
已经从你到这个控制器的任何路由中设置了。
我不确定为什么你没有看到任何描述。它应该以{{1}}进入您的控制器。