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