Установка атрибутов с помощью Rails + jQuery Tokeninput (Railscasts # 258) - PullRequest
1 голос
/ 12 декабря 2011

Я пытаюсь использовать плагин jQuery Tokeninput, чтобы установить атрибуты для виртуального атрибута (используя fields_for). У меня нет проблем с установкой атрибута без активированного плагина , но когда активирован Tokeninput, он не передает атрибуты содержимого.В остальном плагин работает правильно (заполняет токены).

Есть идеи, почему содержимое пусто, когда плагин активен?

Вот моя модель:

class Fact
 include Mongoid::Document
 field :description, :type => String
 belongs_to :matter
 has_and_belongs_to_many :issues
 attr_reader :issue_contents
 attr_writer :issue_contents
 attr_writer :issue_matter_id
 after_save :assign_issues
 accepts_nested_attributes_for :issues

 def issue_contents
  @issue_contents ||= issues.map(&:content).join(', ')
 end

private

def assign_issues
 @issue_contents ||= issues.map(&:content).join(', ')
  if @issue.blank?
   @issue  = issues[0]
   @issue.destroy
end

if @issue_contents
  self.issues = @issue_contents.split(",").map do |content|
    matter.issues.find_or_create_by(content: (content))          
   end  
  end

Вот форма:

<%= form_for(@fact, :url => matter_facts_path(@fact.matter)) do |f| %>
...
<div class="clearfix">
 <%= f.label :add_fact %>
 <div class="input"><%= f.text_area(:description, :size=>"20x3") %></div>
</div>
<%= f.fields_for :issues do |x| %>
<div class="clearfix">
 <%= x.label :content %>
 <div class="input"><%= x.text_field :content, :id => "issue_content" %></div>
...

И JS:

$(function () { 
 var pathname = window.location.pathname; 
 $('#issue_content').tokenInput(pathname + "/issues.json", 
{ crossDomain: false, propertyToSearch: "content", theme: 'facebook' });

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...