Я не знаю ваш плагин, но если вы используете его (https://github.com/jackdempsey/acts_as_commentable),, он кажется очень простым ...
Модель комментариев имеет отношение к пользователю, которое не является обязательным.в вашей новой форме комментария, я бы просто добавил два text_field_tags, если пользователь не вошел в систему (text_field_tag: first_name, text_field_tag: last_name).
И я бы просто написал действие создания для комментариев, подобное этому:
def create
@comment = Comment.new(:commentable => @your_object, :user => current_user, :first_name => params[:first_name], :last_name => params[:last_name])
...
end
если пользователь не вошел в систему, current_user будет nil, и это не вызовет никаких проблем.
Вы можете написать вспомогательный метод для отображения имени для комментария, в зависимости от того, есть ли у него пользовательили не так ...
# Displays the user's login if any or else the first name and last name
def displayed_name(comment)
comment.user ? comment.user.login : "#{comment.first_name} #{comment.last_name}"
end