使用嵌套属性表单助手

时间:2014-06-28 11:33:02

标签: ruby-on-rails attributes nested formhelper

我必须管理一个包含属性" user_id"的表的表单。 我想让用户直接写下他想要邀请的人的姓名,而不是使用ID。

这是我的表

create_table "participations", :force => true do |t|
t.integer  "event_id"
t.integer  "user_id"

在我的参与模式中:

class Participation < ActiveRecord::Base


attr_accessible :event_id, :user_id,  
belongs_to :event
belongs_to :user


end

用户模型:

class User < ActiveRecord::Base
attr_accessible :id, :name,  
has_many :participations


end

1 个答案:

答案 0 :(得分:0)

在表单中添加以下代码:

<script>
  $(document).ready(function() {

    $('#user_auto_complete').typeahead({
      name: 'user',
      local: <%= @users.blank? ? [].to_json : raw (@users.map {|user| user.name }.to_json(:only => [:name ])) %>
    });

  });
</script>

<form>

<input type="text" id="user_auto_complete" name="user_id" value='<%= (!@participant.user_id.blank?)? "#{@users.find(@participant.user_id).name}" : ""%>'>

</form>

希望这会对你有所帮助