devise_invitable
devise_invitable copied to clipboard
Migration generator uses wrong table name in case of STI
Hi, I have the next STI set up:
class User < ActiveRecord::Base; end
class Member < User; end
class Employee < User; end
And
Member.table_name
=> "users"
Both Member and Employee have different devise configs, so I did rails generate devise_invitable Member, resulting migration tries to modify table members, which doesn't exists.
Best, Alex
DeviseInvitable generator inherits from Rails::Generators::NamedBase: https://github.com/scambra/devise_invitable/blob/master/lib/generators/devise_invitable/devise_invitable_generator.rb#L3
And migration uses table_name, which is set by Rails::Generators::NamedBase: https://github.com/scambra/devise_invitable/blob/master/lib/generators/active_record/templates/migration.rb#L3
Probably Rails::Generators::NamedBase doesn't work for STI models, because you usually doesn't use rails g model or rails g resource for STI models, only for base model.
I'm not sure how it can be fixed.