Подтвердить что ты не робот

Разработать Rails 4

Команда разработчиков Devise анонсирована через blogpost http://blog.plataformatec.com.br/2013/05/devise-and-rails-4/, что он выпускает версию, совместимую с Rails 4, называя ее "3.0 rc". В том же сообщении в блоге он также сказал, что он освобождает Devise 2.2.4.

Я пытаюсь создать приложение Rails 4. когда я сделал gem install Devise, он установил 2.2.4, а не версию, совместимую с Rails 4.

Fetching: devise-2.2.4.gem (100%) 

Что я предполагаю из комментариев в blogpost о сильных параметрах, не будет совместим с Rails 4.

Я посмотрел страницу Devise github, но мне не показалось, как установить версию, совместимую с Rails 4. Можете ли вы помочь?

https://github.com/plataformatec/devise

Заметьте, я пробовал

gem install devise --version 3.0.0.rc1

но он сказал

ERROR:  Could not find a valid gem 'devise' (= 3.0.0.rc1) in any repository
ERROR:  Possible alternatives: devise
4b9b3361

Ответ 1

Теперь Devise теперь совместим с Rails 4 из коробки с момента ответа.

Наша цель заключается в том, чтобы пользователи могли регистрироваться, регистрироваться и выходить с интернет-сайта. Мы также создадим небольшое частичное представление, сообщающее нам, если мы вошли в систему или вне его.


Установите драгоценный камень разработки.

Откройте Gemfile и установите драгоценный камень.

gem 'devise'

Затем в вашем терминале запустите команду bundle install, чтобы установить драгоценный камень.

$ bundle install

Запустите некоторые генераторы Devise для настройки начальных конфигураций.

Запустите эту команду с вашего терминала:

rails generate devise:install

Этот генератор устанавливает инициализатор, который настраивает все доступные настройки.

Создайте модель пользователя.

Далее нам нужно сгенерировать нашу модель User. Я назову его User, но вы можете назвать его как хотите, просто замените User на Whatever.

rails generate devise User
rake db:migrate

Настройте свой URL-адрес по умолчанию для Development.rb

Внутри config/environments/development.rb установите по умолчанию URL-адрес Action Mailer в localhost:

config.action_mailer.default_url_options = { :host => 'localhost:3000' }

Убедитесь, что у вас есть корневой маршрут, объявленный в Routes.rb

Вам нужно убедиться, что routes.rb имеет корневой путь по умолчанию - если у вас его нет, установите его!

root to: 'home#index'

Создайте частичный вид, чтобы узнать, вошли ли мы в систему.

Внутри вашей папки views/layouts создайте файл с именем _user_widget.html.erb и скопируйте этот код в:

<% if user_signed_in? %>
  <p>Welcome <%= current_user.email %></p>
  <%= link_to 'Logged In [click to logout]', destroy_user_session_path, :method => :delete %>
<% else %>
  <p>You are not signed in.</p>
  <%= link_to 'Login', new_user_session_path %>
<% end %>

И запустите его в своем макете (views/layouts/application.html.erb):

<!DOCTYPE html>
  <html>
  <head>
    <title>FacebookAuthTest</title>
    <%= stylesheet_link_tag    "application", media: "all" %>
    <%= javascript_include_tag "application" %>
    <%= csrf_meta_tags %>
  </head>
  <body>

  <p class="notice"><%= notice %></p>
  <p class="alert"><%= alert %></p>

  <%= yield %>

  <%= render 'layouts/user_widget' %>

</body>
</html>

Убедитесь, что вы остановили и перезапустили сервер, иначе вы найдете всевозможные неприятные ошибки! Всегда лучше перезапустить локальный сервера при обновлении gemfile или изменении чего-либо в файл конфигурации среды.

Со всем этим на месте вы сможете зарегистрироваться, войти и выйти из своего собственного веб-сайта Rails.

Если у вас есть вопросы, вы можете оставить комментарий ниже, и я постараюсь помочь.

Ответ 2

UPDATE SEPT 17th, 2013. Ведущая ветка теперь совместима с Rails 4. Нет необходимости искать другую версию.

Глядя на github repo, похоже, что вы хотите версию 3.0.0.rc (нет 1). Итак, вы захотите

gem install devise --version "3.0.0.rc"

или в вашем gemfile:

gem 'devise', '3.0.0.rc'

Ответ 3

Это установлено

gem install devise --pre

или

devise-3.0.0.rc.gem

Ответ 4

В этот момент эта версия драгоценного камня - это то, что вы хотели бы использовать

gem 'devise', '3.0.0'

Ответ 5

gem 'devise', github: 'plataformatec/devise', branch: 'rails4'

Ответ 6

Теперь, когда версия 3.0 стабильна, вы можете просто сделать:

gem install devise

или в вашем Gemfile:

gem 'devise'