Ruby on Rails
Thursday, December 6, 2012
Le jeudi 6 décembre 2012 13:23:58 UTC+1, Colin Law a écrit :
On 6 December 2012 12:11, Jean-David <jeandav...@gmail.com> wrote:
> ...
> Thanks for the advise. Logging led me to a solution, but I don't
> really understand what's going on under the hood.
>
> Here's my solution:
>
> "upload" now returns this:
> return "#{uploaded_io.original_filename}"
>
> In "create", I set:
> @lead.illustration = upload
>
> In "update", this wont work. I need to set:
> params[:lead][:illustration] = upload
> and the update goes fine.
>
> After finding this out I tried to set
> params[:lead][:illustration] = upload
> instead of
> @lead.illustration = upload
> in "create", and that wont work.
Can you post your create and update methods as you now have them so I
can see what you are doing.
Sure, here goes :
def create
@lead = Lead.new( params[:lead] )
@lead.illustration = upload_image
if @lead.save
flash[:success] = "Leaderboard successfully added."
redirect_to @lead
else
redirect_to root_path
end
end
def update
@lead = Lead.find_by_id( params[:id] )
params[:lead][:illustration] = upload_image
if @lead.update_attributes( params[:lead] )
flash[:success] = "Leaderboard successfully updated."
redirect_to @lead
else
render action: "edit"
end
end
def upload_image
if params[:lead][:illustration]
uploaded_io = params[:lead][:illustration]
File.open(Rails.root.join('app', 'assets', 'images', uploaded_io.original_filename), 'wb') do |file|
file.write(uploaded_io.read)
end
return "#{uploaded_io.original_filename}"
end
end
--
Colin
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/vkxMN1Gs2vcJ.
For more options, visit https://groups.google.com/groups/opt_out.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment