Ruby on rails 在项目创建时将父id传递到远程表单部分

Ruby on rails 在项目创建时将父id传递到远程表单部分,ruby-on-rails,ajax,Ruby On Rails,Ajax,我对rails中的控制器仍然有点模糊,尤其是因为很多事情似乎都是在幕后神奇地发生的,而这在本例中并没有发生 比如说我有一个人物模型,里面有很多照片(用回形针),还有很多最喜欢的名言。引用可以包含文本、作者等。在这两种模型中,它们都被设置为属于我的个人模型 在new person表单中,我在其他地方使用了一些代码来创建一张新照片: <% form.fields_for :screenshots, :html => { :multipart => true } do |scree

我对rails中的控制器仍然有点模糊,尤其是因为很多事情似乎都是在幕后神奇地发生的,而这在本例中并没有发生

比如说我有一个人物模型,里面有很多照片(用回形针),还有很多最喜欢的名言。引用可以包含文本、作者等。在这两种模型中,它们都被设置为属于我的个人模型

在new person表单中,我在其他地方使用了一些代码来创建一张新照片:

<% form.fields_for :screenshots, :html => { :multipart => true }  do |screen_form| %>
    <%= render :partial => 'screenshot', :locals => { :form => screen_form } %>
<% end %>

目前它被放在数据库中,但person_id没有填充,所以我无法提取与特定人员相关的引号。抱歉,如果这是一个愚蠢的问题,但我正在通过调整教程并将它们混合在一起来学习Rails,所以请容忍我:)照片这东西在没有控制器或特殊东西的情况下是如何工作的,这有点神秘。第一个表单是个人表单,主要有与之相关联的快照字段,因此,查看您的HTML,您会发现类似person[快照][照片]的内容,此表单将提交给person controller


将person id传递给第二个表单是使其工作的关键,但是它不工作有点奇怪,表单将提交给quote controller。您是否确保(查看日志)params散列具有person\u id属性?

我刚签出散列,并且app\u id在quotes散列之外。像这样:{“提交”=>“创建”,“真实性”=>“3l5x22JGrXw+Wk1r9JLEK3em/LMKKaC7Z8Emv0bmlfw=”,“个人id”=>“2”,“引用”=>{…}很好。我不确定我是否能想出如何将其放入其中,但我会尝试..有人告诉我使用隐藏的表单值,这很有效。在部分:@person.id%>
<%= form.label :photo, "Screenshot:" %>
<%= form.file_field :photo %>
<% remote_form_for :quote, :html => { :method => :put }, :url => {:controller => "quote", :action => "create", :person_id => @person.id}  do |quote_form| %>
<%= render :partial => 'quote', :locals => { :form => quote_form } %>
 <% end %>
  <%= form.label :quote_text %>
  <%= form.text_field :quote_text %>
    .........
 <%= form.submit 'Create' %>
  def create
    @quote = Quote.create(params[:quote])
  end