Ever needed to automatically add a hidden field in a form? Here is what I did to make it happen.
Not sure if its the best solution, but it worked for me… at least until the next rails release. 😉
In the original
form_for code it creates a form tag which prints out the templates in the blog that is passed to it. There is a method that creates the opening form tag and it already creates
extra_tags. All I do it add an additional concatenated string to the fields with the result of a custom method that I created called
my_custom_extra_tags. Anything the method returns will be added to each form.
module ActionView::Helpers::FormTagHelper # form_tag_html overridden on line 454 in actionpack-2.2.2/lib/action_view/helpers/form_tag_helper.rb # original # def form_tag_html(html_options) # extra_tags = extra_tags_for_form(html_options) # tag(:form, html_options, true) + extra_tags # end # modified def form_tag_html(html_options) extra_tags = extra_tags_for_form(html_options) tag(:form, html_options, true) + extra_tags + my_custom_extra_tags end def my_custom_extra_tags (params[:lightview].blank? ? '' : hidden_field_tag(:lightview, params[:lightview])) end end
I used this to show the same controller action with different templates and in my application controller I determine which template to show from a passed in parameter that cannot be lost or the template will revert back to the default template. Now all I have to do is pass a parameter lightview to the iframe source and the correct template will show before and after the form inside the iframe is submitted.
Hope this was helpful.
Last night I was setting up a new application on my server and while I was configuring capistrano I came across this strange problem and didn’t immediately find much help on google, so I thought I would post this to help someone else along.
I had already setup my ssh keys months ago but when I tried to ssh into my subversion repository it would ask me for a password/passphrase and it just about drove me crazy.
I came across this article in google and checked off each potential problem and nothing. Then I saw that my key was conprimized when I ran the “ssh-vulnkey -a” command.
capistrano@allison:~/.ssh$ ssh-vulnkey -a Unknown (no blacklist information): 2048 5a:b4:d6:94:10:14:e1:a0:35:35:ff:c6:08:e6:9f:10 Not blacklisted: 2048 5f:43:c2:f0:fb:e6:52:c4:90:59:fb:d2:e0:fe:66:d0 Unknown (no blacklist information): 2048 ab:5e:39:5c:33:f0:02:e3:cf:cd:99:84:ca:9e:f8:e1 Paul@paul-hepworths-computer.local COMPROMISED: 2048 81:85:1d:a7:b1:c6:ff:b2:d5:3f:60:3e:2e:c0:25:5c capistrano@mislice COMPROMISED: 1024 fa:87:13:5f:0c:01:3e:53:b9:a1:ff:4a:8a:29:b2:a1 capistrano@mislice
So I searched google some more to find out how to fix the problem. I regenerated keys multiple times on my client server and no-dice.
Then after searching and searching I found this tutorial and followed it to update openssl and openssh and regenerate my private keys .
What a relief! (and a waste of time, but now I am secure I guess)