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 如何访问ajax加载表单中的关联对象id_Ruby On Rails_Ruby On Rails 3_Jquery_Ruby On Rails 3.2 - Fatal编程技术网

Ruby on rails 如何访问ajax加载表单中的关联对象id

Ruby on rails 如何访问ajax加载表单中的关联对象id,ruby-on-rails,ruby-on-rails-3,jquery,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 3,Jquery,Ruby On Rails 3.2,使用Rails3.2,如何访问ajax加载的嵌入式表单中关联对象的id 例如,我有一个名为Hotels的对象。每家旅馆都有许多房间。当我编辑一家酒店时,我想使用酒店编辑页面上加载了ajax的新房间表单向该酒店添加新房间 我首先在Rooms索引页面上使用jquery创建所有ajax。那里一切都很好,但我没有酒店ID,所以我提供了一个酒店选择下拉框。现在,我想直接在酒店编辑页面上添加一个新房间。我不明白如何将酒店ID(@Hotel.ID)传递到新的ajax加载的房间\u form.html.erb。

使用Rails3.2,如何访问ajax加载的嵌入式表单中关联对象的id

例如,我有一个名为Hotels的对象。每家旅馆都有许多房间。当我编辑一家酒店时,我想使用酒店编辑页面上加载了ajax的新房间表单向该酒店添加新房间

我首先在Rooms索引页面上使用jquery创建所有ajax。那里一切都很好,但我没有酒店ID,所以我提供了一个酒店选择下拉框。现在,我想直接在酒店编辑页面上添加一个新房间。我不明白如何将酒店ID(@Hotel.ID)传递到新的ajax加载的房间\u form.html.erb。在_form.html.erb部分中,我有:

  <% if defined?(@hotel.id) %>
    <%= f.hidden_field :hotel_id, :value => @hotel.id %>                    
  <% else %>
    <%= f.collection_select(:hotel_id, Hotel.all, :id, :name) %>
  <% end %>

如何在ajax加载的新房间中获取相关的@hotel.id\u form.html.erb partial?

我建议您将
new\u Room\u路径中的hotel\u id作为参数传递。可以给出一个如何执行此操作的示例吗?只需配置
routes.rb
文件以接受一个参数,例如添加
/:hotel\u id
。然后,您可以通过
hotel\u id=params[:hotel\u id]
在控制器中访问它。差不多吧。
  <%= link_to 'Add a Room', new_room_path, :remote=>true, :class => 'new_room' %>
  # GET /rooms/new
  # GET /rooms/new.json
  def new
    @room = Room.new

    render :partial => 'form', :locals => { :room => @room }
  end