アルバム モデルをリソースとしてマップするために、routes.rb に次の行があります。
map.resources :albums
ただし、Rails で ActiveRecord の代わりに Datamapper を使用すると、次の行は次のようになります。
format.html { redirect_to(@album) }
次へのリダイレクトを引き起こします。
albums/%23<Album:0x72d452c>
それ以外の:
albums/1
さらにコンテキストが必要な場合に備えて、コントローラーからの完全な作成メソッドを以下に示します。
def create
@album = Album.new(params[:album])
respond_to do |format|
if @album.save
flash[:notice] = 'Album was successfully created.'
format.html { redirect_to(@album) }
format.xml { render :xml => @album, :status => :created, :location => @album }
else
format.html { render :action => "new" }
format.xml { render :xml => @album.errors, :status => :unprocessable_entity }
end
end
end
慣例として、このメソッドは、new.html.erb の「new」メソッドからのフォーム送信の結果として呼び出されます。
<h1>New album</h1>
<% form_for(@album) do |f| %>
<p>
<%= f.label :name %><br />
<%= f.text_field :name %>
</p>
<p>
<%= f.label :description %><br />
<%= f.text_field :description %>
</p>
<p>
<%= f.label :genre %><br />
<%= f.text_field :genre %>
</p>
<p>
<%= f.label :country %><br />
<%= f.text_field :country %>
</p>
<p>
<%= f.submit 'Create' %>
</p>
<% end %>
<%= link_to 'Back', albums_path %>