ネストされたフォームがあります (以下を参照)
モデルアーティスト(アーティストはユーザー)
has_many :art_works
has_many :canvases
accepts_nested_attributes_for :art_works //artworks is what im currently working on
accepts_nested_attributes_for :canvases
コントローラ art_works
def new
@artist = Artist.find(params[:artist_id])
@artwork = @artist.art_works.build
respond_to do |format|
format.html # new.html.erb
format.json { render json: @artwork }
end
end
def create
@artwork = ArtWork.new(params[:artwork])
respond_to do |format|
if @artwork.save
format.html { redirect_to @artwork, notice: 'artwork was successfully created.' }
format.json { render json: @artwork, status: :created, location: @artwork }
else
format.html { render action: "new" }
format.json { render json: @artwork.errors, status: :unprocessable_entity }
end
end
end
作品ビュー _form
<%= form_for(@artwork, :url => artist_art_works_path(current_artist) :multipart => true) do |f| %>
<p>
<%= f.file_field :art %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
私はこれがうまくいくとかなり確信していましたが、私の :url が間違っていると思いますか? 私はそれが他にどうなるか本当にわかりません。以下はアートワークの私のルートです。私がこれらのものをネストしている理由は、アーティストがアートワーク モデルにアートをアップロードできるためです。アイデアは、1 つのアートワークに複数のアートを含めることです (アルバムに多くの画像が含まれているように)。
artist_art_works GET /artists/:artist_id/art_works(.:format) art_works#index
POST /artists/:artist_id/art_works(.:format) art_works#create
new_artist_art_work GET /artists/:artist_id/art_works/new(.:format) art_works#new
edit_artist_art_work GET /artists/:artist_id/art_works/:id/edit(.:format) art_works#edit
artist_art_work GET /artists/:artist_id/art_works/:id(.:format) art_works#show
PUT /artists/:artist_id/art_works/:id(.:format) art_works#update
DELETE /artists/:artist_id/art_works/:id(.:format) art_works#destroy
よろしくお願いいたします。(初心者でごめんなさい)