Ruby on rails 使用jquery自动完成将搜索参数传递给另一个表单

Ruby on rails 使用jquery自动完成将搜索参数传递给另一个表单,ruby-on-rails,associations,params,Ruby On Rails,Associations,Params,我试图将一个表单参数从自动搜索字段传递到另一个表单,而不是该参数,显示出来 背景资料: 我有两种模式:餐厅和用户。餐馆有很多用户,用户属于餐馆。餐厅在数据库中预先填充,当用户想要注册帐户时,他们必须首先使用自动完成字段查找餐厅。执行此操作的url是users/find_restaurant。单击“提交”后,表单将发布到用户控制器的“结果”操作,以检查该餐厅是否已存在用户。如果用户已经退出,则该用户将被重定向到邀请操作,否则,他们将被重定向到新操作。当用户开始执行新操作时,餐厅id列将显示 代码是

我试图将一个表单参数从自动搜索字段传递到另一个表单,而不是该参数,
显示出来

背景资料: 我有两种模式:餐厅和用户。餐馆有很多用户,用户属于餐馆。餐厅在数据库中预先填充,当用户想要注册帐户时,他们必须首先使用自动完成字段查找餐厅。执行此操作的url是users/find_restaurant。单击“提交”后,表单将发布到用户控制器的“结果”操作,以检查该餐厅是否已存在用户。如果用户已经退出,则该用户将被重定向到邀请操作,否则,他们将被重定向到新操作。当用户开始执行新操作时,餐厅id列将显示

代码是:

class Restaurant < ActiveRecord::Base
  has_many :users

def self.search(search)
  if search
    where('name LIKE ?', "%#{search}%")
  else
    scoped
  end
end

 end


class UsersController < ApplicationController

before_filter :allow_user, :except => ['new', 'find_restaurant', 'results']
autocomplete :restaurant, :name, :display_value => :funky_method, :extra_data => [:id, :address, :city, :state, :zip_code]

  def find_restaurant
    @restaurants = Restaurant.search(params[:search])
    @users = @resturants.map(&:users).flatten.compact.uniq  
  end

  def results
     @restaurants = Restaurant.search(params[:search])
     @users = @restaurants.map(&:users).flatten.compact.uniq
      if @users.blank?
        redirect_to new_user_path
     else
        redirect_to restaurants_path(@school)
   end
end

  def new
    @user = User.new
    @restaurants = Resturant.search(params[:search])
    @user.restaurant_id = @schools
  end

  def create
    @user = User.new(params[:user])
        if @user.save
            redirect_to(:action => 'index')
        else
            render('new')
  end
  end
class餐厅['new','find\u restaurant','results']
自动完成:餐厅,:名称,:显示\u值=>:funky\u方法,:额外\u数据=>[:id,:地址,:城市,:州,:邮政编码]
def find_餐厅
@餐厅=餐厅.search(参数[:search])
@users=@resturants.map(&:users).flatte.compact.uniq
终止
def结果
@餐厅=餐厅.search(参数[:search])
@users=@restaurants.map(&:users).flatte.compact.uniq
如果@users.blank?
重定向到新用户路径
其他的
重定向到餐厅路径(@school)
终止
终止
def新
@user=user.new
@餐厅=Resturant.search(参数[:search])
@user.restaurant_id=@schools
终止
def创建
@user=user.new(参数[:user])
如果@user.save
将_重定向到(:action=>'index')
其他的
呈现('新')
终止
终止
找学校的表格是

<%= form_tag results_users_path, :method => 'get' do %>

<p>
    <%= autocomplete_field_tag :search, params[:search], autocomplete_restaurant_name_users_path, :value_method => :id %>
    <%= submit_tag "Next", :name => nil, :id => "submit" %>
</p>

<% end %>
“get”do%>

:id%>
无,:id=>“提交”%>

新is表格

<%= simple_form_for @user, :validate => true do |f| %>
<%= f.association :restaurant %>
<%= f.input :first_name %>
<%= f.input :last_name %>
<%= f.input :title %>
<%= f.input :email %>
<%= f.input :username %>
<%= f.input :password %>
<%= f.input :password_confirmation %>
<%= f.input :role %>
<%= f.button :submit %>

<% end %>
true do | f |%>

非常感谢您的帮助。

您正在使用f.association,因此rails将其转换为餐厅模型的实例。你可以从你得到的对象中获得id。谢谢你的回答,但我不明白答案(我是新手)。你能给我一个关于如何从对象获取id的提示吗?