양식 필드 값을 가져 와서 종이 클립 첨부 파일 이름으로 사용할 수 있습니까?종이 클립 파일 이름으로 사용할 양식 값 가져 오기
PiecePhoto
모델 : filename = File.basename(image_file_name, ".#{extension}").parameterize
에서
belongs_to :piece
has_attached_file :image,
:styles => {
:slider => "940x420#",
:single => "540>",
:thumb => "60x60#",
:medium => "140x140#",
:original => "1024x1024>"
},
:path => ":attachment/:id/:style/:filename",
:url => ":attachment/:id/:style/:filename",
:storage => :s3,
:bucket => 'monavala',
:s3_credentials =>"#{Rails.root}/config/s3.yml"
validates_presence_of :image
before_post_process :parameterize_file_name
def parameterize_file_name
extension = File.extname(image_file_name).gsub(/^\.+/, '')
filename = File.basename(image_file_name, ".#{extension}").parameterize
self.image.instance_write(:file_name, "#{filename}.#{extension}")
end
내가 대신 image_file_name
의 원하는 양식 필드의 값을 얻을 수 있습니다.
편집 :
모델이
Piece
has_many :piece_photos
accepts_nested_attributes_for :piece_photos
PiecePhotos
belongs_to :piece
has_attached_file :image
내가 모델의 내부 형태의 값을 점점 MVC 패턴을 나누기 이해 중첩됩니다. 다른 방법이 있습니까?
Edit2가 :
여기 엄격하려고하지만 난 좀 더 설명해야합니다 생각합니다.
폼 나는 Collection
양식을 가지고, 중첩 :has_many
Pieces
그 :has_many
PiecePhotos
그.
Pieces
에 필드를 추가 할 수 있으며 각각 Piece
에 대해 PiecePhotos
을 추가 할 수 있습니다.
PiecePhotos
의 파일 이름을 Piece
이름과 일부 고유 한 문자열 또는 ID로 같게하고 싶습니다.
모든 게시물을 하나의 게시물에서 처리해야합니다. 조각 사진을 먼저 업로드하고 나중에 조각에 추가하고 싶지 않습니다.
기본적으로 피스 이름을 가져 와서 PiecePhoto 파일 이름으로 사용해야합니다.
여기에 양식이 어떻게 보이는지 이미지가 있습니다. 아직 개발 중입니다. 당신은 아무것도 변경하지 않도록
'정의되지 않은 지역 변수 또는 메소드'params '가 나타납니다. 해당 모델이 중첩되어 있다고 언급하지 않았습니다. – babalooi
대안으로 내 대답을 업데이트했습니다. – knownasilya
업데이트 해 주셔서 감사합니다. 내 문제에 대한 자세한 내용을 추가했습니다. 다른 방법으로 이동하는 방식이 좋지만 여전히 PiecePhotos를 먼저 업로드 한 다음 Piece와 연결해야하는 문제가 있습니다. – babalooi