I was getting this error with Rails 2.2 when using ActionMailer.
NoMethodError (undefined method `finder' for #ActionView::Base:0x34146fc)
It stems from a line in engines/lib/engines/rails_extensions/action_mailer.rb
This is some problem between Rails 2.2 and Engines. Reinstalling engines didn't seem to help.
Simply put, you need to go here and apply this patch:
http://github.com/lazyatom/engines/commit/499ce3b0480d8fa9375203f5efcadb8cf6ea9efe
This took me hours to figure out. I don't know why there isn't any more help on this problem.
read more >
After slogging through connecting Rails and Sugar via SOAP, I was tired and frustrated. The API is slow, and doing anything meaningful took a long time (ok, it took 30 seconds, but that seems slow to me; aren't computers supposed to be fast?!). So, I came up with an alternative approach.
I know that Active Record (or whatever it's called) in Rails is really just a fancy wrapper for the database. So, I created a second database connection, directly to the Sugar database!
You just have to setup new models and controllers in Rails. But, that's not too hard. See this solution... read more >
I have long wanted to make sure my CRM system (SugarCRM) and my project management system synchonized certain data, mainly company names. I hate having to sync stuff like that manually. So, I've been working on integrating the data using a SOAP client on the Rails side. It took all day to get this working. I don't know why this took forever to find out, or why there aren't many good references on the Web. (Maybe I'm just dense!)
I had to patch together a bunch of code, re-code some PHP examples, and do quite a bit of experimenting, to get this all working. Here is a list of some of the sites...... read more >
This is another one that should have been obvious. But, I was getting it wrong. Maybe it had something to do with upgrading to Rails 1.2.6.
Anyway, I was getting an error with a custom action. I was sending a form to "projects/do_something". But, I kept getting the error of "Can't find project with ID=do_something".
This was happening because Rails thought it was supposed to be looking in the route for the show action. But, checking the routes file, I could see that I had defined my custom route. What, what was up?
It turns out, the custom route has to come before the standard "map.resources...... read more >
I don't know why this took a while to figure out, but it did. If you are using the stock Rails in_place_editor_field, you know it looks like this in the controller:
in_place_edit_for :user, :name
And like this in the view:
<%= in_place_editor_field :user, :name %>
This works fine so long as you're rendering from the users controller. But, what if this view is a partial inside a different controller's view? In that case, what gets called is not "/users/set_user_name" but "/othercontroller/set_user_name". And, of course, it fails because there is no method (dynamic or otherwise) like that...... read more >
It took me a little while, but I finally got this working. You'll need the iCalendar plugin.
require 'icalendar'Â
def view_ical
 request = Net::HTTP::Get.new('/calendars/calendar.ics')Â
response = Net::HTTP.start('webdav.site.com') {|http|Â
request.basic_auth 'username', 'password'Â
response = http.request(request)Â
}Â
calendar_text = response.body
calendars = Icalendar.parse(calendar_text)Â
calendar = calendars.first
end
read more >
This one is harder than it seems. But, I figured out a way. The trick and breakthrough came from Teflon Ted.
With a regular form, you could do this in your select statement:
:onChange=>"this.form.submit();"
This won't work with a remote form, because the submission is not handled with the submit method but rather within the JavaScript callback in onsubmit. So, with a remote form, you have to change it to this:
:onChange=>"this.form.onsubmit();"
So, here is my code.
<%- remote_form_for
:user,
user,
:url=>{:action=>'update_remote', :id=>user.id},
:html=>{:id=>'form_'+user.id.to_s},
...... read more >
It seems like it would take a lot of work to get the in_place_editor to work in a partial on a collection, but it does. (It took me a lot of time to figure this out, but maybe I'm just more than average dense.) The best post to-date on this is at we eat bricks.
Just add the usual in the controller (user_controller.rb):
in_place_edit_for :user, :name
And, of course, the method:
def edit
@users = User.find(:all)
end
Then, in the main view (edit.rhtml):
<%= render :partial=>'user', :collection=>@users %>
Then, in the partial (_users.rhtml):
<%= in_place_editor_field :model, :column... read more >
Nested resources in Ruby on Rails are sort of neat, but they are a pain to implement. What's more, I have to ask myself, why bother?
If a resource has a unique identifier id, then why would you need to call its parent resource to call it? The unique identifier is enough. And what resource doesn't have a unique id these days?
read more >
Geoffrey Grosenbach's Ruby on Rails plugin calendar_helper is simple and easy to use. Maybe I'm just picky, but one part of it just wasn't working right for me.
Originally, it looks like this on line 96:
cal << %(<caption class="#{options[:month_name_class]}"></caption><thead><tr><th colspan="7">#{Date::MONTHNAMES[options[:month]]}</th></tr><tr class="#{options[:day_name_class]}">)
It doesn't really make sense for the month name to be in a TH tag and the caption to be empty. So, I put the month name in the caption and eliminated the extra table row. In the end I changed it to this:
cal...... read more >