こんにちは、Rails on Rest 2 - movielist tutorial with rails 4 を使用しようとしていますが、新しいレールに合わせて調整を行っています。映画の役割の関連付けに固執しています。Movie.rbに追加しました
class Movie < ActiveRecord::Base
has_many :roles, :dependent => :destroy
has_many :people, :through => :roles
validates_presence_of :title
def new_role=(values)
values.each do |i, hash|
unless hash[:name].blank?
roles.create(:person_id => hash[:person_id], :name => hash[:name])
roles.save
end
end
end
def deleted_roles=(values)
values.each do |role_id|
roles.find(role_id).destroy
end
end
end
また、私がレンダリングした _Form.html.rb を表示する (以下の抜粋)
<b>Add New People</b><br />
<% (1..3).each do |i| %>
<%= select_tag 'movie_new_role_person_id', options_for_select(@people), {
:name => "movie[new_role][#{i}][person_id]"
} %>
<%= text_field_tag 'movie_new_role_name', '', {
:name => "movie[new_role][#{i}][name]"
} %><br />
<% end %>
</p>
<p>
<%= f.submit "Update" %>
</p>
選択するリストをレンダリングしますが、送信すると、データベーステーブルには何も書き込まれません。データベースに手動でデータを入力すると、映画リスト ページに表示されます。たとえば、「スティーブン スピルバーグ - 監督」などです。
パラメータ駆動の制限かもしれないと思いましたが、関連スタイルのパラメータフィルタの良い例がありません
ありがとう
アラン