2012-01-31 2 views
1

Я вложенная модель следующим образомВложенные атрибуты не спасающий в Rails 3.1

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, где я, возможно, поступил не так?

Ключевое слово Schema

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

    t.timestamps 
    end 
    end 
    end 

ответ

2

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

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

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

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

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

+0

Оцените свой ответ. Это помогло! –

Смежные вопросы