Ruby on rails 如何设置在自动完成字段中选择的元素

Ruby on rails 如何设置在自动完成字段中选择的元素,ruby-on-rails,ruby,ruby-on-rails-3,controller,Ruby On Rails,Ruby,Ruby On Rails 3,Controller,我让用户从自动完成字段中选择类型。该字段位于概要文件的编辑视图中,因此我在概要文件模型中为:genres接受嵌套的属性。此外,体裁和简介有一个has\u和\u属于\u许多相互关联。我的问题是,您如何选择用户选择的类型,并为该用户的配置文件设置它们?我需要什么样的控制器代码?代码会进入配置文件还是类型控制器 我用它来自动完成:我已经预先填充了流派表,并将脚本连接到文本字段。现在,当用户键入时,自动完成功能将成功显示建议。现在我想用选定的类型更新数据库。该数据库是类型和配置文件之间的连接表。我该怎么

我让用户从自动完成字段中选择类型。该字段位于概要文件的编辑视图中,因此我在概要文件模型中为:genres接受嵌套的属性。此外,体裁和简介有一个
has\u和\u属于\u许多
相互关联。我的问题是,您如何选择用户选择的类型,并为该用户的配置文件设置它们?我需要什么样的控制器代码?代码会进入配置文件还是类型控制器


我用它来自动完成:我已经预先填充了流派表,并将脚本连接到文本字段。现在,当用户键入时,自动完成功能将成功显示建议。现在我想用选定的类型更新数据库。该数据库是类型和配置文件之间的连接表。我该怎么做,在哪里做

总之,当我在profile edit视图中单击按钮时,我想将profile id和所选类型id之间的关联保存到联接表中。现在我得到了这个错误:

ActiveRecord::UnknownAttributeError in ProfilesController#update

unknown attribute: genre
Rails.root: /rubyprograms/dreamstill

app/controllers/profiles_controller.rb:18:in `update'
app/controllers/profiles_controller.rb:17:in `update'
以下是我的个人资料编辑视图:

<%= form_for(:profile, @profile, :url => {:controller => "profiles", :action => "update"}, :html => { :multipart => true, :method => :put }) do |f| %>
...
<%= f.fields_for :genre do |g| %>
 <div class="field">
      <%= g.label :name, "Genres" %><br />
      <%= g.text_field :name, :id => 'genre_field' %>
  </div>
<% end %>
...
<div class="action">
  <%= f.submit :profile, :value => "Update Profile" %>
</div>
<% end %>
{:controller=>“profiles”、:action=>“update”}、:html=>{:multipart=>true、:method=>:put})do | f |%>
...

'类型\字段'%> ... “更新配置文件”%>
检查此页

根据我的理解,在此页面中,单击提交元素的警报ID

下面的脚本在
head
中执行此操作

<script type="text/javascript">  
  $(document).ready(function() {  
    $("input[type=button]").click(function () {  
     alert("Would submit: " + $(this).siblings("input[type=text]").val());   
    });
   });
</script>

$(文档).ready(函数(){
$(“输入[type=button]”。单击(函数(){
警报(“将提交:”+$(this).sibbins(“输入[type=text]”).val());
});
});
这个垫子对你有帮助。。 基本上有一个隐藏的文本字段,用于存储所选元素的ID

根据我的理解,在此页面中,单击提交元素的警报ID

下面的脚本在
head
中执行此操作

<script type="text/javascript">  
  $(document).ready(function() {  
    $("input[type=button]").click(function () {  
     alert("Would submit: " + $(this).siblings("input[type=text]").val());   
    });
   });
</script>

$(文档).ready(函数(){
$(“输入[type=button]”。单击(函数(){
警报(“将提交:”+$(this).sibbins(“输入[type=text]”).val());
});
});
这个垫子对你有帮助。。
基本上有一个隐藏的文本字段,用于存储所选元素的ID

您使用什么来自动完成?看看这个,我正在使用它来自动完成:我已经预先填充了数据库,并将脚本连接到文本字段。现在我想用所选的类型更新数据库。你用什么来自动完成?看看这个,我正在使用它来自动完成:我已经预先填充了数据库,并将脚本连接到文本字段。现在我想用选定的流派更新数据库。啊,酷。。。那么,我如何使用它将配置文件id和所选类型id之间的关联保存到联接表中呢?将自动完成的隐藏
输入命名为
profile[gener\u id]
。。它应该用简单的
profile.save
I'ms困惑。。。隐藏的输入是什么?您能提供一个代码示例并告诉我什么控制器采用什么方法吗?我对
tokenpoint
没有任何经验:(.我只是通过查看来回答。因此,抱歉,无法提供示例代码。在示例页面上,如果您查看源代码,您可以找到一个
text_字段
,样式
display:none
。此字段具有元素的ID。例如,第一个示例
“您需要将字段的
名称`从
blah
更改为
profile[gener\u ids]
您是否在params中获得所选id?能否请粘贴您的
params
?啊,太酷了……那么我如何使用它将配置文件id和所选类型id之间的关联保存到联接表中?将隐藏的
输入命名为
profile[gener\u ids],以便自动完成
。它应该可以通过简单的
配置文件来实现。保存
我很困惑…隐藏的输入是什么?你能提供一个代码示例并告诉我使用什么控制器的方法吗?我没有使用
令牌点的任何经验
:(.我只是通过查看来回答。因此,抱歉,无法提供示例代码。在示例页面上,如果您查看源代码,您可以找到一个
text_字段
,样式
display:none
。此字段具有元素的ID。例如,第一个示例
“您需要将字段的
名称`从
blah
更改为
profile[genr\u id]
您是否在参数中获得所选ID?请粘贴您的
params