Magnificent Popup(https://github.com/joshuajansen/magnific-popup-rails)のデフォルトの設定を上書きするスタイルシートの作成にヘルプを使用できます。Magnific Popupでアクションを作成してプロフィール写真のデフォルトを作成する
アップロードした画像からdefault_profile_id
を選択するためのコードがあります。私が持っている問題は、現在のユーザーが自分のページからその決定を下すことを可能にするコードが必要だということです。たとえば、現在のユーザーが写真の上を移動し、「Make Profile Photo」というテキストが表示されます(http://s18.postimg.org/arl81snll/mouse.jpg)。私はスタイルシートを作成する方法や私がしていることを変更する方法がわからないので、このアクションが動作することができます。
写真にこの措置を追加することについてのご支援をいただければ幸いです。
写真コントローラー:
def new
@photo = Photo.new
end
def create
@photo = Photo.new(params[:photo])
@photo.user = current_user
if @photo.save
flash[:notice] = "Successfully created photos."
redirect_to :back
else
render :action => 'new'
end
end
def resize(width, height, gravity = 'Center')
manipulate! do |img|
img.combine_options do |cmd|
cmd.resize "#{width}"
if img[:width] < img[:height]
cmd.gravity gravity
cmd.background "rgba(255,255,255,0.0)"
cmd.extent "#{width}x#{height}"
end
end
img = yield(img) if block_given?
img
end
end
def edit
@photo = Photo.find(params[:id])
end
def update
@photo = Photo.find(params[:id])
if @photo.update_attributes(paramas[:photo])
flash[:notice] = "Successfully updated photo."
redirect_to @photo.gallery
else
render :action => 'edit'
end
end
def destroy
@photo = Photo.find(params[:id])
@photo.destroy
flash[:notice] = "Successfully destroyed photo."
redirect_to @photo.gallery
end
def choose_default_photo
@photo = Photo.find params[:photo_id]
current_user.default_photo = @photo
redirect_to '/profile' # or wherever I want to send them
end
end
写真モデル:
attr_accessible :title, :body, :gallery_id, :name, :image, :remote_image_url
belongs_to :gallery
has_many :gallery_users, :through => :gallery, :source => :user
belongs_to :user
mount_uploader :image, ImageUploader
LIMIT = 5
validate do |record|
record.validate_photo_quota
end
def validate_photo_quota
return unless self.user
if self.user.photos(:reload).count >= LIMIT
errors.add(:base, :exceeded_quota)
end
end
end
ユーザーモデル:
has_many :photos
belongs_to :default_photo, :class_name => "Photo"
after_create :setup_gallery
private
def setup_gallery
Gallery.create(user: self)
end
end
ユーザーコントローラー:
def new
@user = User.new
end
def show
@user = User.find(params[:id])
end
def destroy
User.find(id_params).destroy
flash[:success] = "User deleted."
redirect_to users_url
end
def choose_default_photo
@photo = Photo.find params[:photo_id]
current_user.default_photo = @photo
redirect_to '/profile'
end
写真テーブルの列は次のとおりです。 id
、created_at
、updated_at
、image
、name
、user_id
Usersテーブルには、以下の関連の列があります。 id
、default_photo_id (integer)
あなたはどのようなCSSを試してみましたか?あなたのマークアップはどのように見えますか?スタイルを設定しようとしている要素の現在のスタイルは何ですか? CSSだけで助けが必要なのか、誰かが画像をクリックしてプロフィール写真にするときに何が起こるのかについて助けが必要なのでしょうか? – carols10cents
私は経験がないので、CSSの助けが必要です。私はこれまでにそれを使っていませんでしたが、私はアプリ全体に実装する必要があります。 CSSで行われた小さなセクションを見ると、残りの部分を自分で仕上げるのに役立ちます。 CSSを作成してアクションを追加する方法を知る必要があります。 – xps15z
さて、あなたのマークアップは今のように見えますが、ディスプレイはどうなっていますか?ページに画像が表示されていますか?あなたはコーナーを丸めましたか? Magnificent Popupがどれだけあなたに与えるのかわからないので、どこに行きたいのか分かりません。 – carols10cents