リストというモデルがあります。リストの私のindex.html.erbで。画面にすべてのリストが表示されます。リストモデルの_form.html.erbは次のようになります。
<%if user_signed_in? %>
<%=link_to "Sign Out", destroy_user_session_path, :method => :delete %><br/>
<%= form_for(@listing, :html => {:multipart => true} ) do |f| %>
<% if @listing.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@listing.errors.count, "error") %> prohibited this listing from being saved:</h2>
<ul>
<% @listing.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :id %><br />
<%= f.text_field :id %>
</div>
<%= f.label:image%>
<%= f.file_field:image%> <%= f.submit%> <%end%> <%else%> <%= link_to "Sign in"、new_user_session_path%>
管理者に連絡して、ログインとパスワードを取得してください<%end%>
ここで、このビューに関連付けられているモデルは「リスト」ですが、アップロードされた画像属性をアプリの別のモデル「画像」に保存したいと思います。
基本的に、Imがやろうとしているのは、すべてのモデルにビューから自分の写真をアップロードさせ、すべての画像属性を「Image」と呼ばれる単一のモデルに保存することです。また、画像自体はAmazonS3に保存されます。
したがって、問題は、これを実現するために「リスト」モデルにどのコードが組み込まれるか、そしてこれを実現するために「イメージ」モデルにどのコードが組み込まれるかです。そして、この情報はどのようにしてリストから画像に渡されますか?
現在リストモデルにあります:
class Listing < ActiveRecord::Base
has_attached_file :image,:styles => {:thumb => "75x75>", :small => "150x150>", :medium => "300x300>"}
end
現在「画像」モデルにあります
# == Schema Information
#
# Table name: images
#
# id :integer not null, primary key
# image_file_name :string(255)
# image_content_type :string(255)
# image_file_size :integer
# image_type :string(255)
# created_at :datetime not null
# updated_at :datetime not null
#
class Image < ActiveRecord::Base
end
よろしくお願いします。