Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 从rails部分表单检索多个模型对象_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 从rails部分表单检索多个模型对象

Ruby on rails 从rails部分表单检索多个模型对象,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有下面的表格作为一个部分,我试图做一个承包商模型的部分调用,我也想通过当前页面的模型id,这是一个报价id 这行的失败是“为零调用id” 我尝试过创建一个手动路由,并将搜索放在一个单独的方法上,但是我得到了一个模板错误,所以我现在只将它放在索引方法中 show.html.erb中的表单: <%= form_tag quotes_path, :method => 'get', :id => "contractors_search" do %> <p>

我有下面的表格作为一个部分,我试图做一个承包商模型的部分调用,我也想通过当前页面的模型id,这是一个报价id

这行的失败是“为零调用id”

我尝试过创建一个手动路由,并将搜索放在一个单独的方法上,但是我得到了一个模板错误,所以我现在只将它放在索引方法中

show.html.erb中的表单:

<%= form_tag quotes_path, :method => 'get', :id => "contractors_search" do %>
  <p>
    <%= text_field_tag :search, params[:search] %>
    <%= submit_tag "Search", :name => nil %>
  </p>
  <br><br><br>
  <div id="contractors"><%= render 'contractors' %></div>
<% end %>
'get',:id=>“承包商搜索”do%>

零%>




_contractors.html.erb

<table>
<% @contractors.each do | contractor | %>
<tr>
    <td><%= contractor.firstname %></td>
    <td>
    <%= form_tag (quote_add_contractor_path) do %>
        <%= hidden_field_tag :quote_id, @quote.id %>
        <%= hidden_field_tag :contractor_id, contractor.id %>
        <%= submit_tag "Add" %>
    <% end %>
    </td>
</tr>
<% end %>
</table> 

Index.js.erb

$("#contractors").html("<%= escape_javascript(render :partial => "contractors") %>");
$(“#contractors”).html(“contractors”)%>”;
控制器:

def index

    @quotes = Quote.all  
    @contractors = Contractor.search(params[:search]) 


end


def add_contractor
    @quote = Quote.find(params[:quote_id])
    @contractor = Contractor.find(params[:contractor_id])
    @quote.contractors << @contractor

    if @quote.save
        redirect_to @quote, notice: "contractor was added"
    else
        render :show, notice: "Sorry, something went aweful"
    end

end
def索引
@quotes=Quote.all
@contractors=Contractor.search(参数[:search])
结束
def add_承包商
@quote=quote.find(参数[:quote\U id])
@承包商=承包商。查找(参数[:承包商id])

@quote.contractors在index.js.erb中,可以渲染部分contractors,但不能在控制器的索引操作中设置@quote实例变量。这就是你失败的原因。尝试在索引操作中添加
@quote=#一些逻辑