Вложенные атрибуты не сохраняются в Rails 3.1 - PullRequest
1 голос
/ 31 января 2012

У меня есть вложенная модель как следующая

Project модель has_many ключевые слова и ключевое слово belongs_to проект

  class Project < ActiveRecord::Base

   has_many :url_list
   has_many :keyword
   accepts_nested_attributes_for :keyword, :allow_destroy => true
  end

  class Keyword < ActiveRecord::Base
   belongs_to :project
   attr_accessible :kw, :project_id 
  end

Просмотр:

  <%=form_for @project, :multipart => true do |f|%>
        <ul><li style = "width:85px; text-align: right; margin-right:5px; margin-top:5px"><%= f.label :name%></li>
        <li><%= f.text_field :name, :class => "txt_box1"%></li></ul>
        <ul><li style = "width:85px; text-align: right; margin-right:5px; margin-top:5px"><%= f.label :request_id %></li> 
        <li><%= f.text_field :request_id, :class => "txt_box1" %></li></ul>
        <ul><li style = "width:85px; text-align: right; margin-right:5px; margin-top:5px"><%= f.label :file%></li>
        <li><%= f.file_field :uploaded_file%></li></ul>

        <%= f.fields_for :keywords do |k|%> 
        <ul><li style = "width:85px; text-align: right; margin-right:5px; margin-top:5px"><%= k.label "keyword1" %></li>

        <li><%= k.text_field :kw, :class => "txt_box1" %></li></ul>


        <%end%>
        <ul><li style="width:85px; text-align: right; margin-right:5px; margin-top:5px">&nbsp;</li>
        <li style="opacity: 0.8;"><div class="space"><%= f.submit "Submit", :class=> "button"%></div></li></ul>
        <%end%>

Я не могу сохранить keywords, хотя он сохраняет project, где я мог ошибиться?

Схема ключевых слов

   class CreateKeywords < ActiveRecord::Migration
   def change
   create_table :keywords do |t|
    t.string :kw
    t.integer :project_id

  t.timestamps
  end
  end
  end

1 Ответ

2 голосов
/ 31 января 2012

Попробуйте это в своей модели проекта:

has_many :keywords
accepts_nested_attributes_for :keywords, :allow_destroy => true

ключевых слов - потому что у вас есть has_many ассоциация.

Если это не сработало, проверьте ваши параметры вlog / development.log - у вас должно быть что-то вроде этого: "Keywords_attributes" => {"title" => "" ... "}

проверить эту страницу: http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html

...