在devise资源上使用Active Scaffold,使用devise-invitatible后出现错误
NameError in Admin/users#index
Showing /home/user/.rvm/gems/ruby-1.9.3-p286/gems/active_scaffold-3.2.16/frontends/default/views/_list_record_columns.html.erb where line #6 raised:
uninitialized constant User::InvitedBy
Extracted source (around line #6):
3: <% column_value = authorized ? get_column_value(record, column) : active_scaffold_config.list.empty_field_text -%>
4:
5: <%= content_tag :td, column_attributes(column, record).merge(:class => column_class(column, column_value, record)) do %>
6: <%= authorized ? render_list_column(column_value, column, record) : column_value %>
7: <% end %>
8: <% end -%>发布于 2012-11-19 20:33:05
ActiveScaffold 3.2.x不支持多态关联的链接,您可以在invited_by列conf.columns:invited_by.clear_link中调用clear_link
我已经在rails-3.2分支中禁用了这些链接,但它将在3.2.18中禁用。你也可以使用git中的'git://github.com/activescaffold/active_scaffold) (gem 'active_scaffold',:git => scaffold)来使用支持多态关联链接的主分支。
发布于 2014-03-14 03:06:50
添加一些可能对某人有帮助的交叉链接:通过这个Github问题:https://github.com/scambra/devise_invitable/issues/247
您可以放入:
filter :email #fixes uninitialized constant User::InvitedBy在app/admin/user.rb中
(我希望这是可以接受的,并能帮助某些人)
编辑:我也在使用devise_invitable,它已被删除或从未正确迁移:
def change
add_column :users, :invitation_token, :string
add_column :users, :invitation_created_at, :datetime
add_column :users, :invitation_sent_at, :datetime
add_column :users, :invitation_accepted_at, :datetime
add_column :users, :invitation_limit, :integer
add_column :users, :invited_by_id, :integer
add_column :users, :invited_by_type, :string
add_index :users, :invitation_token, :unique => true
end
# Allow null encrypted_password
change_column :users, :encrypted_password, :string, :null => true
# Allow null password_salt (add it if you are using Devise's encryptable module)
change_column :users, :password_salt, :string, :null => truehttps://stackoverflow.com/questions/13363781
复制相似问题