Mohnish G j
2011-May-20 10:32 UTC
Unable to figure out why a photo attribute of the paperclip plugin is not being passed in as a param
Hello all, I am trying to implement a feature in my app where a user posts a message along with an image. This is something similar to what is there in `www.diasp.org` . I dealing with a pretty much outdated configuration of Rails 2.0.2 and Ruby 1.8.7 , both running on Ubuntu 10.04 OS for project specific purposes. Initially, I found a problem in finding an appropriate plugin for paperclip which would suit the above configuration needs. I am finally making use of this commit of paperclip:- https://github.com/thoughtbot/paperclip/commit/d177c8f838458348a9f4d1fe41918c5bd99a989c . I have been able to implement a basic POC successfully without any issues whatsoever with this plugin and thought its time to do the same in my project app. The current problem I am facing is that on submitting a post message, I am unable to figure out where I am going wrong as in terms of what is obstructing the photo to be passed as a params to the group_post attribute that I am making use of. I am having all this in a partial.... The part of the code that would accept an image and a message is like this... <%if @current_user.is_an_existing_member_of_group(@investor_group)%> <%form_for :group_post, :url => {:action => :post_message, :id => params[:id]},:html => {:multipart => ''true'', :id => ''new_post''} do |f| -%> Start Discussion:<%=f.text_field :message%> <%=f.file_field :photo%> <%=f.submit "Post" %> <%end%> <div id = "latest_post"> </div> <%for a in @group_all_posts %> <%= image_tag a.photo.url %> <%= a.message %> by <%= Investor.find(a.post_by).first_name %> <div class ="contentdispgrp" id="style_chck"> <%distance_of_time_in_words(a.created_at,Time.now) %> ago </div><br/><br/> <hr/> <%end%> I actually tried comparing this with the view file in my POC which successfully uploaded images for me and even displayed the same. The new.html.erb file of my POC looks like this:- <h1>New post</h1> <%= error_messages_for :post %> <% form_for :post, :url => {:action => :create}, :html => { :multipart => true } do |f| %> <p> <b>Message</b><br /> <%= f.text_field :message %> </p> <%= f.file_field :photo%> <p> <%= f.submit "Create" %> </p> <% end %> <%= link_to ''Back'', posts_path %> A glimpse of what is being passed as part of the params as per the log looks something like this wrt the POC running:- **Case 1** Processing PostsController#create (for 127.0.0.1 at 2011-05-20 15:55:00) [POST] Session ID: BAh7ByIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo%0ASGFzaHsABjoKQHVzZWR7ADoMY3NyZl9pZCIlZjQ5NWYyNDAxNDVjNmZkOGU5%0AZjM0ZjJjOTZlOTRlM2I%3D--a30d15cac639bde46b5d57218084da993caf094b Parameters: {"commit"=>"Create", "post"=>{"photo"=>#<File:/tmp/CGI20110520-5743-u5iauq-0>, "message"=>"abc1"}, "authenticity_token"=>"1c19641bd05adb24157f5f1d04b4c8e072cb7ebe", "action"=>"create", "controller"=>"posts"} Post Columns (0.000975) SHOW FIELDS FROM `posts` SQL (0.000199) BEGIN Post Create (0.000332) INSERT INTO `posts` (`created_at`, `photo_file_size`, `photo_file_name`, `updated_at`, `photo_content_type`, `photo_updated_at`, `message`) VALUES(''2011-05-20 15:55:00'', 83794, ''Water lilies.jpg'', ''2011-05-20 15:55:00'', ''image/jpeg'', NULL, ''abc1'') SQL (0.059184) COMMIT Redirected to http://localhost:4004/posts/22 Completed in 0.33966 (2 reqs/sec) | DB: 0.06069 (17%) | 302 Found [http://localhost/posts] **Case 2** A glimpse of what is being passed as part of the params as per the log looks something like this wrt the project app running:- Processing GroupsController#post_message (for 127.0.0.1 at 2011-05-20 15:42:52) [POST] Session ID: 0d806dc029197b7db11552a447dd329e Parameters: {"group_post"=>{"message"=>"hi5"}, "action"=>"post_message", "id"=>"10", "controller"=>"groups"} Investor Columns (0.002125) SHOW FIELDS FROM `investors` Investor Load (0.000173) SELECT * FROM `investors` WHERE (`investors`.`id` = 397) LIMIT 1 InvestorGroup Columns (0.001198) SHOW FIELDS FROM `investor_groups` InvestorGroup Load (0.000114) SELECT * FROM `investor_groups` WHERE (`investor_groups`.`id` = 10) InvestorGroup Load (0.000207) SELECT investor_groups.* FROM investor_groups INNER JOIN investor_group_members ON investor_groups.id = investor_group_members.investor_group_id WHERE ((investor_group_members.investor_id = 397)) GroupPost Columns (0.002383) SHOW FIELDS FROM `group_posts` SQL (0.000111) BEGIN GroupPost Create (0.000342) INSERT INTO `group_posts` (`post_by`, `created_at`, `photo_file_size`, `photo_file_name`, `updated_at`, `investor_group_id`, `photo_content_type`, `message`) VALUES(397, ''2011-05-20 15:42:53'', NULL, NULL, ''2011-05-20 15:42:53'', 10, NULL, ''hi5'') SQL (0.069269) COMMIT Rendering groups/post_message Investor Load (0.000194) SELECT * FROM `investors` WHERE (`investors`.`id` = 397) Completed in 0.13884 (7 reqs/sec) | Rendering: 0.00845 (6%) | DB: 0.07612 (54%) | 200 OK [http://localhost/us/groups/post_message/10] Kindly observe the difference between **Case 1** and **Case 2**. The code in my model looks like this:- class GroupPost < ActiveRecord::Base has_many :group_comments belongs_to :investor_group validates_presence_of :message has_attached_file :photo #, :styles => { :medium => "300x300>", :thumb => "100x100>" } end I would like to mention this, this something weird I have observed earlier when dealing with paritals.. something i never expected would behave as such.. I had implemented auto complete previously using a partial, but once I added a comment to this partial documenting whom this file was added by and what was this file about.. Believe it or not.. the Auto Complete stopped working for me...!! . It worked soon after removing the comments. The syntax of the comments I used was `<!-- -->` Can I expect similar behavior wrt this case for some reason I am currently unaware of...?? I understand I can''t expect many things working for me with the commit version I am using , but since the basic functionality is working in the POC, I wonder what is obstructing the same to work in my project app.. Please guide me on where I could be going wrong..., Its urgent.. Kindly let me know if you need any other part of the code.. Thanks a lot... -- Posted via http://www.ruby-forum.com/. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Bryan Crossland
2011-May-20 13:25 UTC
Re: Unable to figure out why a photo attribute of the paperclip plugin is not being passed in as a param
Sent from my iPhone On May 20, 2011, at 5:32 AM, Mohnish G j <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote:> Hello all, > > I am trying to implement a feature in my app where a user posts a > message along with an image. > > This is something similar to what is there in `www.diasp.org` . > > I dealing with a pretty much outdated configuration of Rails 2.0.2 and > Ruby 1.8.7 , both running on Ubuntu 10.04 OS for project specific > purposes. > > Initially, I found a problem in finding an appropriate plugin for > paperclip which would suit the above configuration needs. > > I am finally making use of this commit of paperclip:- > > https://github.com/thoughtbot/paperclip/commit/d177c8f838458348a9f4d1fe41918c5bd99a989c > . > > I have been able to implement a basic POC successfully without any > issues whatsoever with this plugin and thought its time to do the same > in my project app. > > The current problem I am facing is that on submitting a post message, I > am unable to figure out where I am going wrong as in terms of what is > obstructing the photo to be passed as a params to the group_post > attribute that I am making use of. > > I am having all this in a partial.... The part of the code that would > accept an image and a message is like this... > > <%if @current_user.is_an_existing_member_of_group(@investor_group)%> > <%form_for :group_post, :url => {:action => :post_message, :id => > params[:id]},:html => {:multipart => ''true'', :id => ''new_post''} do |f| > -%> > Start Discussion:<%=f.text_field :message%> > <%=f.file_field :photo%> > <%=f.submit "Post" %> > <%end%> > > <div id = "latest_post"> </div> > <%for a in @group_all_posts %> > <%= image_tag a.photo.url %> > <%= a.message %> by <%= Investor.find(a.post_by).first_name %> <div > class ="contentdispgrp" id="style_chck"> <%> distance_of_time_in_words(a.created_at,Time.now) %> ago </div><br/><br/> > <hr/> > <%end%> > > > I actually tried comparing this with the view file in my POC which > successfully uploaded images for me and even displayed the same. The > new.html.erb file of my POC looks like this:- >You POC and actual apps form_for are different. In the POC your are doing a :post and in the actual form you are missing it. You have :group_post. That is not a method of posting and is being treated like a parameter as shown in your log file. Change :group_post to :post. B.> <h1>New post</h1> > > <%= error_messages_for :post %> > > <% form_for :post, :url => {:action => :create}, :html => { > :multipart => true } do |f| %> > <p> > <b>Message</b><br /> > <%= f.text_field :message %> > </p> > > <%= f.file_field :photo%> > > <p> > <%= f.submit "Create" %> > </p> > <% end %> > > <%= link_to ''Back'', posts_path %> > > > > A glimpse of what is being passed as part of the params as per the log > looks something like this wrt the POC running:- > > **Case 1** > > > Processing PostsController#create (for 127.0.0.1 at 2011-05-20 > 15:55:00) [POST] > Session ID: > BAh7ByIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo%0ASGFzaHsABjoKQHVzZWR7ADoMY3NyZl9pZCIlZjQ5NWYyNDAxNDVjNmZkOGU5%0AZjM0ZjJjOTZlOTRlM2I%3D--a30d15cac639bde46b5d57218084da993caf094b > Parameters: {"commit"=>"Create", > "post"=>{"photo"=>#<File:/tmp/CGI20110520-5743-u5iauq-0>, > "message"=>"abc1"}, > "authenticity_token"=>"1c19641bd05adb24157f5f1d04b4c8e072cb7ebe", > "action"=>"create", "controller"=>"posts"} > Post Columns (0.000975) SHOW FIELDS FROM `posts` > SQL (0.000199) BEGIN > Post Create (0.000332) INSERT INTO `posts` (`created_at`, > `photo_file_size`, `photo_file_name`, `updated_at`, > `photo_content_type`, `photo_updated_at`, `message`) VALUES(''2011-05-20 > 15:55:00'', 83794, ''Water lilies.jpg'', ''2011-05-20 15:55:00'', > ''image/jpeg'', NULL, ''abc1'') > SQL (0.059184) COMMIT > Redirected to http://localhost:4004/posts/22 > Completed in 0.33966 (2 reqs/sec) | DB: 0.06069 (17%) | 302 > Found [http://localhost/posts] > > **Case 2** > > A glimpse of what is being passed as part of the params as per the log > looks something like this wrt the project app running:- > > > Processing GroupsController#post_message (for 127.0.0.1 at > 2011-05-20 15:42:52) [POST] > Session ID: 0d806dc029197b7db11552a447dd329e > Parameters: {"group_post"=>{"message"=>"hi5"}, > "action"=>"post_message", "id"=>"10", "controller"=>"groups"} > Investor Columns (0.002125) SHOW FIELDS FROM `investors` > Investor Load (0.000173) SELECT * FROM `investors` WHERE > (`investors`.`id` = 397) LIMIT 1 > InvestorGroup Columns (0.001198) SHOW FIELDS FROM > `investor_groups` > InvestorGroup Load (0.000114) SELECT * FROM `investor_groups` > WHERE (`investor_groups`.`id` = 10) > InvestorGroup Load (0.000207) SELECT investor_groups.* FROM > investor_groups INNER JOIN investor_group_members ON investor_groups.id > = investor_group_members.investor_group_id WHERE > ((investor_group_members.investor_id = 397)) > GroupPost Columns (0.002383) SHOW FIELDS FROM `group_posts` > SQL (0.000111) BEGIN > GroupPost Create (0.000342) INSERT INTO `group_posts` > (`post_by`, `created_at`, `photo_file_size`, `photo_file_name`, > `updated_at`, `investor_group_id`, `photo_content_type`, `message`) > VALUES(397, ''2011-05-20 15:42:53'', NULL, NULL, ''2011-05-20 15:42:53'', > 10, NULL, ''hi5'') > SQL (0.069269) COMMIT > Rendering groups/post_message > Investor Load (0.000194) SELECT * FROM `investors` WHERE > (`investors`.`id` = 397) > Completed in 0.13884 (7 reqs/sec) | Rendering: 0.00845 (6%) | DB: > 0.07612 (54%) | 200 OK [http://localhost/us/groups/post_message/10] > > > Kindly observe the difference between **Case 1** and **Case 2**. > > The code in my model looks like this:- > > class GroupPost < ActiveRecord::Base > has_many :group_comments > belongs_to :investor_group > validates_presence_of :message > has_attached_file :photo #, :styles => { :medium => "300x300>", > :thumb => "100x100>" } > end > > I would like to mention this, this something weird I have observed > earlier when dealing with paritals.. something i never expected would > behave as such.. > > I had implemented auto complete previously using a partial, but once I > added a comment to this partial documenting whom this file was added by > and what was this file about.. Believe it or not.. the Auto Complete > stopped working for me...!! . It worked soon after removing the > comments. The syntax of the comments I used was `<!-- -->` > > Can I expect similar behavior wrt this case for some reason I am > currently unaware of...?? > > > I understand I can''t expect many things working for me with the commit > version I am using , but since the basic functionality is working in the > POC, I wonder what is obstructing the same to work in my project app.. > > Please guide me on where I could be going wrong..., Its urgent.. > > Kindly let me know if you need any other part of the code.. > > Thanks a lot... > > -- > Posted via http://www.ruby-forum.com/. > > -- > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. > For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en. >-- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Mohnish G j
2011-May-20 17:18 UTC
Re: Unable to figure out why a photo attribute of the paperclip plugin is not being passed in as a p
Hi Bryan, Thanks for your response.. If I have understood your response properly.... I am aware about this difference in the name Bryan, I am just making use of two different symbol names.. As per the requirement in the project. To the best of my knowldege, I don''t think I am calling a method like the HTTP get or post through symbol like :post as I have named in my POC.. Kindly correct me in case your try to point out something else.. something I am unable to get from your reply..... Thanks again.. Bryan Crossland wrote in post #999866:> Sent from my iPhone > > On May 20, 2011, at 5:32 AM, Mohnish G j <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote: > >> >> in my project app. >> <%form_for :group_post, :url => {:action => :post_message, :id => >> <%= a.message %> by <%= Investor.find(a.post_by).first_name %> <div >> class ="contentdispgrp" id="style_chck"> <%>> distance_of_time_in_words(a.created_at,Time.now) %> ago </div><br/><br/> >> <hr/> >> <%end%> >> >> >> I actually tried comparing this with the view file in my POC which >> successfully uploaded images for me and even displayed the same. The >> new.html.erb file of my POC looks like this:- >> > > You POC and actual apps form_for are different. In the POC your are > doing a :post and in the actual form you are missing it. You have > :group_post. That is not a method of posting and is being treated like a > parameter as shown in your log file. Change :group_post to :post. > > B.-- Posted via http://www.ruby-forum.com/. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Bryan Crossland
2011-May-20 18:40 UTC
Re: Re: Unable to figure out why a photo attribute of the paperclip plugin is not being passed in as a p
Sent from my iPhone On May 20, 2011, at 12:18 PM, Mohnish G j <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote:> Hi Bryan, > > Thanks for your response.. > > If I have understood your response properly.... > > I am aware about this difference in the name Bryan, I am just making use > of two different symbol names.. As per the requirement in the project. > To the best of my knowldege, I don''t think I am calling a method like > the HTTP get or post through symbol like :post as I have named in my > POC.. > > Kindly correct me in case your try to point out something else.. > something I am unable to get from your reply..... > > Thanks again.. >Sorry, that was my mistake for not reading your code closer if I had I would have noticed that along with the fact that your POC and your app are calling two different methods. Your POC is using a create (CRUD method) and your app is using a custom method. I''m not that familiar with version 2.0.2 of Rails but it may be treating your custom method differently. Just a guess. Try changing your call to is create and see if you have the same effect. B.> Bryan Crossland wrote in post #999866: >> Sent from my iPhone >> >> On May 20, 2011, at 5:32 AM, Mohnish G j <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote: >> >>> >>> in my project app. >>> <%form_for :group_post, :url => {:action => :post_message, :id => >>> <%= a.message %> by <%= Investor.find(a.post_by).first_name %> <div >>> class ="contentdispgrp" id="style_chck"> <%>>> distance_of_time_in_words(a.created_at,Time.now) %> ago </div><br/><br/> >>> <hr/> >>> <%end%> >>> >>> >>> I actually tried comparing this with the view file in my POC which >>> successfully uploaded images for me and even displayed the same. The >>> new.html.erb file of my POC looks like this:- >>> >> >> You POC and actual apps form_for are different. In the POC your are >> doing a :post and in the actual form you are missing it. You have >> :group_post. That is not a method of posting and is being treated like a >> parameter as shown in your log file. Change :group_post to :post. >> >> B. > > -- > Posted via http://www.ruby-forum.com/. > > -- > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. > For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en. >-- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Mohnish J.
2011-May-21 09:18 UTC
Re: Re: Unable to figure out why a photo attribute of the paperclip plugin is not being passed in as
Hi Bryan, After taking in some inputs from another forum and combining those with something I tried.. it finally works..The code that works is like this:- <%form_for :group_post, @group_post, :url => {:action => :post_message, :id => params[:id]},:html => {:multipart => true}, :id => ''new_post'' do |f| %> ..did the trick for me.. the quotes around the TRUE keyword had to be reomoved..also id had to be removed from within the html symbol for me.. But I am actually in for a tradeoff.. the idea behind having id within html was to use the same to render a .js.erb file to get an AJAXY effect in displaying each post.. I really don''t think the commit of may 08 2008 of paperclip would have support for jquery.. Bryan Crossland wrote in post #999935:> Sent from my iPhone > > On May 20, 2011, at 12:18 PM, Mohnish G j <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote: > >> POC.. >> >> Kindly correct me in case your try to point out something else.. >> something I am unable to get from your reply..... >> >> Thanks again.. >> > > Sorry, that was my mistake for not reading your code closer if I had I > would have noticed that along with the fact that your POC and your app > are calling two different methods. Your POC is using a create (CRUD > method) and your app is using a custom method. I''m not that familiar > with version 2.0.2 of Rails but it may be treating your custom method > differently. Just a guess. Try changing your call to is create and see > if you have the same effect. > > B.-- Posted via http://www.ruby-forum.com/. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Reasonably Related Threads
- Undefined method `has_attached_file' with paperclip 2.3.8 gem for Rails 2 using Ruby 1.8.7
- Implementing auto complete for more than one field in Rails
- Problem adding replicated bricks on FreeBSD
- Problem with kerberos method attribut
- Dialplan Q: Dialing with Capi