在控制器中:
\n\ndef createUserForHotel\n @user=User.new(params_createUserForHotel)\n if @user.save\n flash[:notice]="New user is created for the hotel"\n redirect_to(:controller=>\'hotels\',:action=>"createnewhotel")\n else\n flash[:notice]="New user not created "\n redirect_to(:controller=>\'hotels\',:action=>"createnewhotel")\n end\nend\n\ndef params_createUserForHotel\n params.require(:user).permit(:username,:password,:email,:hotel_id)\nend\nRun Code Online (Sandbox Code Playgroud)\n\n在迁移中:
\n\ndef up\n create_table :users do |t|\n t.string "first_name",:limit=>25\n t.string "last_name",:limit=>50\n t.string "email",:null=>false,:limit=>100\n t.string "username",:limit=>50 \n t.string "password",:limit=>40 \n t.integer "hotel_id"\n t.timestamps\n end\n\n add_index("users","hotel_id")\nend\n\nclass AlterUsers < ActiveRecord::Migration\n def up \n rename_column("users","password","hashed_password") \n end\nRun Code Online (Sandbox Code Playgroud)\n\n在 Heroku 日志中:
\n\n\xe2\x86\x90[0m Started POST "/hotels/createUserForHotel" for 122.50.216.93 at 2014-11-16 10:18:16 +0000\n\xe2\x86\x90[36m2014-11-16T10:18:16.170638+00:00 app[web.1]:\xe2\x86\x90[0m\n\xe2\x86\x90[36m2014-11-16T10:18:16.170641+00:00 app[web.1]:\xe2\x86\x90[0m NoMethodError (undefined method password_digest=\' for #<User:0x007f036c8ffe50>):\n\xe2\x86\x90[36m2014-11-16T10:18:16.170643+00:00 app[web.1]:\xe2\x86\x90[0m app/controllers/hotels_controller.rb:140:in createUserForHotel\'\n\xe2\x86\x90[36m2014-11-16T10:18:16.170644+00:00 app[web.1]:\xe2\x86\x90[0m\nRun Code Online (Sandbox Code Playgroud)\n\n我的应用程序在开发环境中运行良好,但我在 Heroku 日志中收到上述错误。我已在 Heroku 中部署了我的应用程序。
\n迁移不会在部署时自动执行。确保rake db:migrate在 Heroku 上运行。
heroku run rake db:migrate
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7019 次 |
| 最近记录: |