pengzhaoqing / courseselect Goto Github PK
View Code? Open in Web Editor NEW校园选课系统样本 (a template for course selection system by Ruby on Rails)
Home Page: https://courseselect.herokuapp.com/
License: MIT License
校园选课系统样本 (a template for course selection system by Ruby on Rails)
Home Page: https://courseselect.herokuapp.com/
License: MIT License
老师你好,我知道代码中的btn-info,和btn-danger会使按钮成下面图中的蓝色和红色
<td><%= link_to "编辑", edit_course_url(course), class: 'btn btn-xs btn-info' %></td>
<td><%= link_to "删除", course_path(course), :method => "delete", class: 'btn btn-xs btn-danger', :data => {confirm: '确定要删除此课程?'} %></td>
老师在作业演示中给出的“关闭”可以是黄色,如图
我想问这个按钮的颜色是怎么控制的?
显示说发送成功,但是实际上根本没有收到邮件
请问,c9注册除了用信用卡,还有其他方法吗?谢谢
Bundler::GemspecError: Could not read gem at /home/stormand/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/cache/sdoc-0.4.1.gem. It may be corrupted.
An error occurred while installing sdoc (0.4.1), and Bundler cannot continue.
Make sure that `gem install sdoc -v '0.4.1'` succeeds before bundling.
谷歌百度必应都没有搜到上述错误,在terminal中输入
gem install sdoc -v '0.4.1'
后提示:
ERROR: Error installing sdoc:
invalid gem: package is corrupt, exception while verifying: undefined method `size' for nil:NilClass (NoMethodError) in /home/stormand/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/cache/sdoc-0.4.1.gem
求教,感谢
助教您好。我修改了一个前端模板然后移植到项目中,其中一个关键的js没起作用,请问是跟其中的配置冲突了吗,这个js已经正常加载,控制台也没报错。别的css和js都能正常工作。
<%= javascript_include_tag 'js/custom.min.js' %>
def open
@course=Course.find_by_id(params[:id])
@course.opencourse=1
redirect_to courses_path, flash: {:success => "已经成功开启该课程:#{ @course.opencourse}"}
end
助教,我发现open函数中这一句@course.opencourse=1实际上并不能真正改变参数,而只是在这个函数里改变了参数,我应该怎么才能改变这个参数值?
我修改了种子文件的代码,重新rake db:seed就会报错,这是为什么?
liaobx:~/workspace (master) $ rake db:seed
rake aborted!
ActiveRecord::RecordInvalid: Validation failed: Email has already been taken
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5.2/lib/active_record/validations.rb:79:in `raise_record_invalid'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5.2/lib/active_record/validations.rb:43:in `save!'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5.2/lib/active_record/attribute_methods/dirty.rb:29:in `save!'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5.2/lib/active_record/transactions.rb:291:in `block in save!'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5.2/lib/active_record/transactions.rb:351:in `block in with_transaction_returning_status'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5.2/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `block in transaction'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5.2/lib/active_record/connection_adapters/abstract/transaction.rb:184:in `within_new_transaction'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5.2/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `transaction'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5.2/lib/active_record/transactions.rb:220:in `transaction'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5.2/lib/active_record/transactions.rb:348:in `with_transaction_returning_status'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5.2/lib/active_record/transactions.rb:291:in `save!'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5.2/lib/active_record/persistence.rb:51:in `create!'
/home/ubuntu/workspace/db/seeds.rb:128:in `block in <top (required)>'
/home/ubuntu/workspace/db/seeds.rb:127:in `each'
/home/ubuntu/workspace/db/seeds.rb:127:in `<top (required)>'
/usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-4.2.5.2/lib/active_support/dependencies.rb:268:in `load'
/usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-4.2.5.2/lib/active_support/dependencies.rb:268:in `block in load'
/usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-4.2.5.2/lib/active_support/dependencies.rb:240:in `load_dependency'
/usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-4.2.5.2/lib/active_support/dependencies.rb:268:in `load'
/usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5.2/lib/rails/engine.rb:547:in `load_seed'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5.2/lib/active_record/tasks/database_tasks.rb:250:in `load_seed'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5.2/lib/active_record/railties/databases.rake:183:in `block (2 levels) in <top (required)>'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/exe/rake:27:in `<top (required)>'
/usr/local/rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `eval'
/usr/local/rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => db:seed
(See full trace by running task with --trace)
请问执行最后一句命令后,未出现add_index(:users, :email, {:unique=>true}) -> 0.0011s这条结果,是什么原因呢?谢谢
在C9中运行bundle install之后,会有如下提示:
~/workspace/CourseSelect/ (master) $ bundle install
Fetching gem metadata from https://gems.ruby-china.org/...........
Fetching version metadata from https://gems.ruby-china.org/..
Using rake 11.2.2
Using i18n 0.7.0
Using json 1.8.3
Using minitest 5.9.0
Using thread_safe 0.3.5
Using builder 3.2.2
Using erubis 2.7.0
Using mini_portile2 2.1.0
Using pkg-config 1.1.7
Using rack 1.6.4
Using mime-types-data 3.2016.0521
Using arel 6.0.3
Using execjs 2.7.0
Using bcrypt 3.1.11
Using debug_inspector 0.0.2
Using sass 3.4.22
Using byebug 9.0.5
Using coffee-script-source 1.10.0
Using thor 0.19.1
Using concurrent-ruby 1.0.2
Using tilt 2.0.5
Using multi_json 1.12.1
Using nested_form 0.3.2
Using pg 0.18.4
Using bundler 1.13.2
Using rails_serve_static_assets 0.0.5
Using rails_stdout_logging 0.0.5
Using remotipart 1.2.1
Using safe_yaml 1.0.4
Using spring 1.7.2
Using turbolinks-source 5.0.0
Using faker 1.6.3
Using rdoc 4.2.2
Using tzinfo 1.2.2
Installing nokogiri 1.6.8 with native extensions
Using rack-test 0.6.3
Using mime-types 3.1
Using autoprefixer-rails 6.4.0.2
Using uglifier 3.0.1
Using binding_of_caller 0.7.2
Using coffee-script 2.4.1
Using sprockets 3.7.0
Using haml 4.0.7
Using rails_12factor 0.0.3
Using turbolinks 5.0.1
Using sdoc 0.4.1
Using activesupport 4.2.5.2
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /usr/local/rvm/gems/ruby-2.3.0/gems/nokogiri-1.6.8/ext/nokogiri
/usr/local/rvm/rubies/ruby-2.3.0/bin/ruby -r ./siteconf20161009-29728-1m9dmos.rb extconf.rb --use-system-libraries
Using pkg-config version 1.1.7
checking if the C compiler accepts -ggdb3 -O0 -std=c11 -Wall -Werror -Wshadow... yes
Building nokogiri using system libraries.
WARNING: libxml2 version 2.9.3 or later is highly recommended, but proceeding anyway.
checking for xmlParseDoc() in libxml/parser.h... yes
checking for xsltParseStylesheetDoc() in libxslt/xslt.h... yes
checking for exsltFuncRegister() in libexslt/exslt.h... yes
checking for xmlHasFeature()... yes
checking for xmlFirstElementChild()... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetValidStructuredErrors()... yes
checking for xmlSchemaSetValidStructuredErrors()... yes
checking for xmlSchemaSetParserStructuredErrors()... yes
creating Makefile
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/usr/local/rvm/gems/ruby-2.3.0/extensions/x86_64-linux/2.3.0/nokogiri-1.6.8/mkmf.log
current directory: /usr/local/rvm/gems/ruby-2.3.0/gems/nokogiri-1.6.8/ext/nokogiri
make "DESTDIR=" clean
current directory: /usr/local/rvm/gems/ruby-2.3.0/gems/nokogiri-1.6.8/ext/nokogiri
make "DESTDIR="
compiling xml_sax_parser.c
error: unknown warning option '-Wno-packed-bitfield-compat'; did you mean '-Wno-keyword-compat'? [-Werror,-Wunknown-warning-option]
make: *** [xml_sax_parser.o] Error 1
make failed, exit code 2
Gem files will remain installed in /usr/local/rvm/gems/ruby-2.3.0/gems/nokogiri-1.6.8 for inspection.
Results logged to /usr/local/rvm/gems/ruby-2.3.0/extensions/x86_64-linux/2.3.0/nokogiri-1.6.8/gem_make.out
An error occurred while installing nokogiri (1.6.8), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.6.8'` succeeds before bundling.
然后我运行gem install nokogiri -v '1.6.8' 然后弹出如下错误:
~/workspace/CourseSelect/ (master) $ gem install nokogiri -v '1.6.8'
Building native extensions. This could take a while...
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
current directory: /usr/local/rvm/gems/ruby-2.3.0/gems/nokogiri-1.6.8/ext/nokogiri
/usr/local/rvm/rubies/ruby-2.3.0/bin/ruby -r ./siteconf20161009-29963-dma39l.rb extconf.rb
Using pkg-config version 1.1.7
checking if the C compiler accepts -ggdb3 -O0 -std=c11 -Wall -Werror -Wshadow... yes
Building nokogiri using packaged libraries.
Using mini_portile version 2.1.0
checking for gzdopen() in -lz... yes
checking for iconv... yes
************************************************************************
IMPORTANT NOTICE:
Building Nokogiri with a packaged version of libxml2-2.9.4.
Team Nokogiri will keep on doing their best to provide security
updates in a timely manner, but if this is a concern for you and want
to use the system library instead; abort this installation process and
reinstall nokogiri as follows:
gem install nokogiri -- --use-system-libraries
[--with-xml2-config=/path/to/xml2-config]
[--with-xslt-config=/path/to/xslt-config]
If you are using Bundler, tell it to use the option:
bundle config build.nokogiri --use-system-libraries
bundle install
Note, however, that nokogiri is not fully compatible with arbitrary
versions of libxml2 provided by OS/package vendors.
************************************************************************
Extracting libxml2-2.9.4.tar.gz into tmp/x86_64-pc-linux-gnu/ports/libxml2/2.9.4... OK
Running 'configure' for libxml2 2.9.4... OK
Running 'compile' for libxml2 2.9.4... ERROR, review '/usr/local/rvm/gems/ruby-2.3.0/gems/nokogiri-1.6.8/ext/nokogiri/tmp/x86_64-pc-linux-gnu/ports/libxml2/2.9.4/compile.log' to see what happened. Last lines are:
========================================================================
CC entities.lo
CC encoding.lo
encoding.c:491:26: error: cast from 'const unsigned char *' to 'unsigned short *' increases required alignment from 1 to 2 [-Werror,-Wcast-align]
unsigned short* in = (unsigned short*) inb;
^~~~~~~~~~~~~~~~~~~~~
encoding.c:573:27: error: cast from 'unsigned char *' to 'unsigned short *' increases required alignment from 1 to 2 [-Werror,-Wcast-align]
unsigned short* out = (unsigned short*) outb;
^~~~~~~~~~~~~~~~~~~~~~
encoding.c:729:26: error: cast from 'const unsigned char *' to 'unsigned short *' increases required alignment from 1 to 2 [-Werror,-Wcast-align]
unsigned short* in = (unsigned short*) inb;
^~~~~~~~~~~~~~~~~~~~~
encoding.c:815:27: error: cast from 'unsigned char *' to 'unsigned short *' increases required alignment from 1 to 2 [-Werror,-Wcast-align]
unsigned short* out = (unsigned short*) outb;
^~~~~~~~~~~~~~~~~~~~~~
4 errors generated.
make[2]: *** [encoding.lo] Error 1
make[2]: Leaving directory `/usr/local/rvm/gems/ruby-2.3.0/gems/nokogiri-1.6.8/ext/nokogiri/tmp/x86_64-pc-linux-gnu/ports/libxml2/2.9.4/libxml2-2.9.4'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/rvm/gems/ruby-2.3.0/gems/nokogiri-1.6.8/ext/nokogiri/tmp/x86_64-pc-linux-gnu/ports/libxml2/2.9.4/libxml2-2.9.4'
make: *** [all] Error 2
========================================================================
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/local/rvm/rubies/ruby-2.3.0/bin/$(RUBY_BASE_NAME)
--help
--clean
--use-system-libraries
--enable-static
--disable-static
--with-zlib-dir
--without-zlib-dir
--with-zlib-include
--without-zlib-include=${zlib-dir}/include
--with-zlib-lib
--without-zlib-lib=${zlib-dir}/lib
--enable-cross-build
--disable-cross-build
/usr/local/rvm/gems/ruby-2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:366:in `block in execute': Failed to complete compile task (RuntimeError)
from /usr/local/rvm/gems/ruby-2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:337:in `chdir'
from /usr/local/rvm/gems/ruby-2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:337:in `execute'
from /usr/local/rvm/gems/ruby-2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:111:in `compile'
from /usr/local/rvm/gems/ruby-2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:150:in `cook'
from extconf.rb:364:in `block (2 levels) in process_recipe'
from extconf.rb:257:in `block in chdir_for_build'
from extconf.rb:256:in `chdir'
from extconf.rb:256:in `chdir_for_build'
from extconf.rb:363:in `block in process_recipe'
from extconf.rb:262:in `tap'
from extconf.rb:262:in `process_recipe'
from extconf.rb:555:in `<main>'
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/usr/local/rvm/gems/ruby-2.3.0/extensions/x86_64-linux/2.3.0/nokogiri-1.6.8/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in /usr/local/rvm/gems/ruby-2.3.0/gems/nokogiri-1.6.8 for inspection.
Results logged to /usr/local/rvm/gems/ruby-2.3.0/extensions/x86_64-linux/2.3.0/nokogiri-1.6.8/gem_make.out
网上百度了好几种方法照做了依然失败,求救- -
def open
@course=Course.find_by_id(params[:id])
if @course.open_attributes(course_params)
flash={:info => "开放成功"}
else
flash={:warning => "开放失败"}
def course_params
params.require(:course).permit(:course_code, :name, :course_type, :teaching_type, :exam_type,
:credit, :limit_num, :class_room, :course_time, :course_week)
end
当我点击开放课程时,出现下面的错误提示,上面两段是提示错误的地方
ActionController::ParameterMissing in CoursesController#open
param is missing or the value is empty: course
老师,我在ubuntu系统里安装了rubymine2016.2.3,用的是一个月的试用版。但找的一些说明资料都是英文的,而且不是很具体。
老师可不可以,写一个操作过程的例子,比如完成第一次作业,截图,配简要的中文说明?
我在run网页时,点击“开课”按钮后,按钮没有更新为“关闭”。
我在courses_controller.rb文件中的“开课”的方法代码如下:
` def openc`
`@course = Course.find_by_id(params[:id])`
` @course.open = true`
`redirect_to courses_path, flash: {:success => "已经成功开启该课程:#{@course.name}"}`
`end`
我想问
(1)@course.open = true
的写法正确吗?
“@course.open”就表示该课程的open变量,对吗?
给boolean变量赋值,用=,还是用=>? 我在default时用=>,编辑器没有语法错误的红点出现;但是如果写@course.open => true, 编辑器则会有语法错误的红点出现。
(2)redirect_to courses_path
这句代码,就能使网页进到最新的那个courses_path吗?
如果是最新的话,那open值被赋为true了,结合index.html中的代码,“开课”的按钮应该更新为“关闭”才对。
我的index.html中的代码如下:
` <% @course.each do |course| %>`
`......`
` <% if course.open? %>`
` <td><%= link_to "关闭", close_course_path(course), :method => "get", class: 'btn btn-xs btn-warning' %></td>`
` <% else %>`
` <td><%= link_to "开课", openc_course_path(course), :method => "get", class: 'btn btn-xs btn-success' %></td>`
` <% end %>`
`......`
根据教程三调试后,结果如图所示,页面为白色,仅有设定的功能项。启动run project后,相应结果如下所示,请问是什么原因?谢谢
Started GET "/" for 121.195.114.58 at 2016-11-02 06:23:28 +0000
Cannot render console from 121.195.114.58! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
Processing by Rails::WelcomeController#index as HTML
Rendered /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/templates/rails/welcome/index.html.erb (2.1ms)
Completed 200 OK in 27ms (Views: 14.3ms | ActiveRecord: 0.0ms)
Started GET "/courses/new" for 121.195.114.58 at 2016-11-02 06:23:48 +0000
Cannot render console from 121.195.114.58! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
Processing by CoursesController#new as HTML
Rendered courses/_form.html.erb (22.7ms)
Rendered courses/new.html.erb within layouts/application (26.7ms)
Completed 200 OK in 368ms (Views: 344.6ms | ActiveRecord: 0.6ms)
Started GET "/stylesheets/application.css" for 121.195.114.58 at 2016-11-02 06:23:48 +0000
Cannot render console from 121.195.114.58! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
ActionController::RoutingError (No route matches [GET] "/stylesheets/application.css"):
actionpack (4.2.5) lib/action_dispatch/middleware/debug_exceptions.rb:21:in call' web-console (2.3.0) lib/web_console/middleware.rb:20:in
block in call'
web-console (2.3.0) lib/web_console/middleware.rb:18:in catch' web-console (2.3.0) lib/web_console/middleware.rb:18:in
call'
actionpack (4.2.5) lib/action_dispatch/middleware/show_exceptions.rb:30:in call' railties (4.2.5) lib/rails/rack/logger.rb:38:in
call_app'
railties (4.2.5) lib/rails/rack/logger.rb:20:in block in call' activesupport (4.2.5) lib/active_support/tagged_logging.rb:68:in
block in tagged'
activesupport (4.2.5) lib/active_support/tagged_logging.rb:26:in tagged' activesupport (4.2.5) lib/active_support/tagged_logging.rb:68:in
tagged'
railties (4.2.5) lib/rails/rack/logger.rb:20:in call' actionpack (4.2.5) lib/action_dispatch/middleware/request_id.rb:21:in
call'
rack (1.6.4) lib/rack/methodoverride.rb:22:in call' rack (1.6.4) lib/rack/runtime.rb:18:in
call'
activesupport (4.2.5) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in call' rack (1.6.4) lib/rack/lock.rb:17:in
call'
actionpack (4.2.5) lib/action_dispatch/middleware/static.rb:116:in call' rack (1.6.4) lib/rack/sendfile.rb:113:in
call'
railties (4.2.5) lib/rails/engine.rb:518:in call' railties (4.2.5) lib/rails/application.rb:165:in
call'
rack (1.6.4) lib/rack/lock.rb:17:in call' rack (1.6.4) lib/rack/content_length.rb:15:in
call'
rack (1.6.4) lib/rack/handler/webrick.rb:88:in service' /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/webrick/httpserver.rb:140:in
service'
/usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/webrick/httpserver.rb:96:in run' /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/webrick/server.rb:296:in
block in start_thread'
Rendered /usr/local/rvm/gems/ruby-2.3.0/gems/actionpack-4.2.5/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.6ms)
Rendered /usr/local/rvm/gems/ruby-2.3.0/gems/actionpack-4.2.5/lib/action_dispatch/middleware/templates/routes/_route.html.erb (1.2ms)
Rendered /usr/local/rvm/gems/ruby-2.3.0/gems/actionpack-4.2.5/lib/action_dispatch/middleware/templates/routes/_table.html.erb (27.8ms)
Rendered /usr/local/rvm/gems/ruby-2.3.0/gems/actionpack-4.2.5/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.8ms)
Rendered /usr/local/rvm/gems/ruby-2.3.0/gems/actionpack-4.2.5/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (66.3ms)
def open
@course=Course.find_by_id(params[:id])
@course.open_close=true
@course.save
redirect_to courses_path, flash: {:success => "已经成功开启该课程:#{ @course.name}"}
end
def course_params
params.require(:course).permit(:course_code, :name, :course_type, :teaching_type, :exam_type,
:credit, :limit_num, :class_room, :course_time, :course_week, :open_close)
end
`
def list
@course=Course.all
@course=@course-current_user.courses
@course.each do |t| //通过循环把所有open的课程赋值给了putcourse数组后,如
if (@course.open==true) then //把这个数组传给视图
putcourse[t]=@course
end
end
end
助教您好:
我使用如下代码进行迁移
class AddOpenAttribute < ActiveRecord::Migration
def change
add_column :courses, :open, :boolean, :default => false
end
end
运行之后没有任何反应,指定版本号也不行,求指教
助教您好,
我在代码中已经设置了method为delete了,
<%= link_to sessions_logout_path, method: :delete do %>退出<% end %>
报错是却显示No route matches [GET] "/sessions/logout"
可见是method没有正确设置,不得其解
我的代码如下:
def list
@course=Course.all
@course= @course-current_user.courses
@openarray = {}
@course.each do |course|
if course.open?
@openarray.push(course)
end
end
return @openarray
end
run网页,运行结果是原本的所有的“除当前已选的课程以外的课程”,不是预期设计的“只有已开课的课程”。
增加open字段 add_column :open, :boolean, default =>false // couse表中已经添加了open字段
然后rake db:migrate
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
undefined local variable or method `default' for #AddOpenAttribute:0x00000002639bb8
我在view/shared/目录下,找到_sidenav.html.erb文件
将其中的代码修改为:
<% if student_logged_in? %>
<li class="list-group-item">
<%= link_to list_courses_path do %>
<span class="glyphicon glyphicon-chevron-right"></span> 开放课程
<span class="label label-info pull-right"><%= @num_oppenarray %></span>
<% end %>
其中@num_oppenarray
来源于我改写的course_controller.rb文件中的如下代码:
def list
@course=Course.all
@course= @course-current_user.courses
@openarray = []
@course.each do |course|
@openarray.push(course) if course.open
end
@[email protected]
end
但是run网页时,只有在点击“开放课程“按钮后,开放课程的数量才会更新。
而我想要的结果是,只要进了”我的课程“页面,开放课程的数量就已经显示为更新过的数量。
原作者的_sidenav.html.erb文件中的代码如下:
<% if student_logged_in? %>
<li class="list-group-item">
<%= link_to list_courses_path do %>
<span class="glyphicon glyphicon-chevron-right"></span> 选修课程
<span class="label label-info pull-right"><%= (Course.all-current_user.courses).length %></span>
<% end %>
</li>
<li class="list-group-item">
<%= link_to courses_path do %>
<span class="glyphicon glyphicon-chevron-right"></span> 已选课程
<span class="label label-info pull-right"><%= current_user.courses.length %></span>
<% end %>
</li>
<% end %>
我感觉到,我代码中的@OpenArray,@num_oppenarray是def list中的变量,属于局部变量,只有当link_to list_course_path时,才会执行def list中的代码。
所以,我想问,怎样将openarray定义成一个全局的东西(我不是指$openarray全局变量)?这样,我直接写openarray.length, 就能获得开放课程的数量
老师,我已经按提示完成了第一步,add open boolean。但是到第二步,我不知道怎么做?
感觉在代码方面的知识不是很懂。
有没有相关博客讲讲,网站开发里面的那些代码的含义?比如,代码中,有些是下划线连接的几个单词,有些是"a单词.b单词",这些是什么用意?
has_many :teaching_courses, class_name:"Course", foreign_key::teacher_id
教程二中这句代码一直报错,是照着教程上编写的,没有敲错
提示错误是
syntax error, unexpected '\n', expecting =>
@PENGZhaoqing @jewhau
jewhau 的代码是:
class AddOpenAttribute < ActiveRecord::Migration
add_column :courses, :course_open, :boolean, :default =>false
end
我想问,
(1)我将第二行的courses删去,直接写open,如下:
add_column :open, :boolean, :default =>false
我这样做,行不行?
(2)另外,如果保留courses, 但是后面的不用:course_open,而直接写:open, 即
add_column :courses, :open, :boolean, :default =>false
这样行不行?
(3)其实我不是很明白add_column的具体含义。
def open
@course=Course.find_by_id(params[:id])
@course.opencourse=1
redirect_to courses_path, flash: {:success => "已经成功开启该课程:#{ @course.opencourse}"}
end
<div class="panel-body">
<table class="table table-responsive table-condensed table-hover">
<thead>
<tr>
<th>课程编号</th>
<th>课程名称</th>
<th>课时/学分</th>
<th>考试方式</th>
<th>主讲教师</th>
_**# <th>是否开课</th>**_
</tr>
<tbody>
<% @course.each do |course| %>
<tr>
<td><%= course.course_code %></td>
<td><%= course.name %></td>
<td><%= course.credit %></td>
<td><%= course.exam_type %></td>
<td><%= course.teacher.name %></td>
# **_<td><%= course.opencourse %></td>_**
<% if teacher_logged_in? %>
<td><%= link_to "编辑", edit_course_url(course), class: 'btn btn-xs btn-info' %></td>
**# _<td><%= link_to "开课", open_course_url(course), class: 'btn btn-xs btn-info' %></td>_**
<td><%= link_to "删除", course_path(course), :method => "delete", class: 'btn btn-xs btn-danger', :data => {confirm: '确定要删除此课程?'} %></td>
<% elsif student_logged_in? %>
这个是我写的open函数,同时我增加了一栏显示是否开课(opencourse默认为0),我点击开课按钮,flash提示:已经成功开启该课程:1
但是在是否开课那一栏依然显示0,两个参数不对应,这是为什么?
Started GET "/" for 111.195.215.172 at 2016-09-23 16:52:56 +0000
Cannot render console from 111.195.215.172! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
Processing by Rails::WelcomeController#index as HTML
Rendered /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/templates/rails/welcome/index.html.erb (121.0ms)
在C9打开了fork队长后的工程文件以后,自己做了修改以后如何提交自己的更改分支到队长?具体步骤如何操作麻烦助教说稍微详细一点谢谢了。
还有如何可以查看自己和其他组员对这个项目整体的贡献情况?
def change
add_column :courses, :open, :boolean
change_column_default :courses, :open, from: true, to: false
然后rake db :migrate
(master) $ rake db :migrate
rake aborted!
Don't know how to build task ':migrate' (see --tasks)
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/exe/rake:27:in `<top (required)>'
(See full trace by running task with --trace) 麻烦助教了
老师,我在railstutorial.org网站中看到作者在rails console中输入以下这段代码:
s = "foobar"
if s.empty?
"The string is empty"
else
"The string is nonempty"
end
=> "The string is nonempty"
我想问在rails console中如何换行继续输入代码?按哪几个键?
前端问题:
<%= link_to "开课"%>和<%= link_to "关闭"%>如何使这两个按钮合成一个按钮并且能随事件响应状态而随之改变状态,能否给点提示。
关于路由只有这一行代码么?run project后命令行提示
`Your code is running at https://diycourseselect-balabalahoobala.c9users.io.
=> Booting WEBrick
=> Rails 4.2.5 application starting in development on http://0.0.0.0:8080
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
Exiting
/usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:268:in `load': /home/ubuntu/workspace/config/routes.rb:4: syntax error, unexpected ':', expecting keyword_end (SyntaxError)
resources: courses
^
from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:268:in `block in load'
from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:240:in `load_dependency'
from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:268:in `load'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/application/routes_reloader.rb:40:in `block in load_paths'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/application/routes_reloader.rb:40:in `each'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/application/routes_reloader.rb:40:in `load_paths'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/application/routes_reloader.rb:16:in `reload!'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/application/routes_reloader.rb:26:in `block in updater'
from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-4.2.5/lib/active_support/file_update_checker.rb:75:in `execute'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/application/routes_reloader.rb:27:in `updater'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/application/routes_reloader.rb:7:in `execute_if_updated'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/application/finisher.rb:69:in `block in <module:Finisher>'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/initializable.rb:30:in `instance_exec'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/initializable.rb:30:in `run'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/initializable.rb:55:in `block in run_initializers'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:228:in `block in tsort_each'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:431:in `each_strongly_connected_component_from'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:349:in `block in each_strongly_connected_component'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:347:in `each'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:347:in `call'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:347:in `each_strongly_connected_component'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:226:in `tsort_each'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:205:in `tsort_each'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/initializable.rb:54:in `run_initializers'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/application.rb:352:in `initialize!'
from /home/ubuntu/workspace/config/environment.rb:5:in `<top (required)>'
from /home/ubuntu/workspace/config.ru:3:in `require'
from /home/ubuntu/workspace/config.ru:3:in `block in <main>'
from /usr/local/rvm/gems/ruby-2.3.0/gems/rack-1.6.4/lib/rack/builder.rb:55:in `instance_eval'
from /usr/local/rvm/gems/ruby-2.3.0/gems/rack-1.6.4/lib/rack/builder.rb:55:in `initialize'
from /home/ubuntu/workspace/config.ru:in `new'
from /home/ubuntu/workspace/config.ru:in `<main>'
from /usr/local/rvm/gems/ruby-2.3.0/gems/rack-1.6.4/lib/rack/builder.rb:49:in `eval'
from /usr/local/rvm/gems/ruby-2.3.0/gems/rack-1.6.4/lib/rack/builder.rb:49:in `new_from_string'
from /usr/local/rvm/gems/ruby-2.3.0/gems/rack-1.6.4/lib/rack/builder.rb:40:in `parse_file'
from /usr/local/rvm/gems/ruby-2.3.0/gems/rack-1.6.4/lib/rack/server.rb:299:in `build_app_and_options_from_config'
from /usr/local/rvm/gems/ruby-2.3.0/gems/rack-1.6.4/lib/rack/server.rb:208:in `app'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/server.rb:61:in `app'
from /usr/local/rvm/gems/ruby-2.3.0/gems/rack-1.6.4/lib/rack/server.rb:336:in `wrapped_app'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/server.rb:139:in `log_to_stdout'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/server.rb:78:in `start'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:80:in `block in server'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:75:in `tap'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:75:in `server'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands.rb:17:in `<top (required)>'
from /home/ubuntu/workspace/bin/rails:9:in `require'
from /home/ubuntu/workspace/bin/rails:9:in `<top (required)>'
from /usr/local/rvm/gems/ruby-2.3.0/gems/spring-2.0.0/lib/spring/client/rails.rb:28:in `load'
from /usr/local/rvm/gems/ruby-2.3.0/gems/spring-2.0.0/lib/spring/client/rails.rb:28:in `call'
from /usr/local/rvm/gems/ruby-2.3.0/gems/spring-2.0.0/lib/spring/client/command.rb:7:in `call'
from /usr/local/rvm/gems/ruby-2.3.0/gems/spring-2.0.0/lib/spring/client.rb:30:in `run'
from /usr/local/rvm/gems/ruby-2.3.0/gems/spring-2.0.0/bin/spring:49:in `<top (required)>'
from /usr/local/rvm/gems/ruby-2.3.0/gems/spring-2.0.0/lib/spring/binstub.rb:31:in `load'
from /usr/local/rvm/gems/ruby-2.3.0/gems/spring-2.0.0/lib/spring/binstub.rb:31:in `<top (required)>'
from /home/ubuntu/workspace/bin/spring:14:in `require'
from /home/ubuntu/workspace/bin/spring:14:in `<top (required)>'
from bin/rails:3:in `load'
from bin/rails:3:in `<main>'
将教程一demo的routes文件中的代码拷贝到这个从零建起的系统的routes文件中,代码如下
Rails.application.routes.draw do
mount RailsAdmin::Engine => '/admin', as: 'rails_admin'
root 'homes#index'
resources :courses do
member do
get :select
get :quit
end
collection do
get :list
end
end
resources :grades, only: [:index, :update]
resources :users
get 'sessions/login' => 'sessions#new'
post 'sessions/login' => 'sessions#create'
delete 'sessions/logout' => 'sessions#destroy'
end
再次run project提示
`Your code is running at https://diycourseselect-balabalahoobala.c9users.io.
=> Booting WEBrick
=> Rails 4.2.5 application starting in development on http://0.0.0.0:8080
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
Exiting
/home/ubuntu/workspace/config/routes.rb:4:in `block in <top (required)>': uninitialized constant RailsAdmin (NameError)
from /usr/local/rvm/gems/ruby-2.3.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/route_set.rb:434:in `instance_exec'
from /usr/local/rvm/gems/ruby-2.3.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/route_set.rb:434:in `eval_block'
from /usr/local/rvm/gems/ruby-2.3.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/route_set.rb:412:in `draw'
from /home/ubuntu/workspace/config/routes.rb:1:in `<top (required)>'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/application/routes_reloader.rb:40:in `block in load_paths'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/application/routes_reloader.rb:40:in `each'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/application/routes_reloader.rb:40:in `load_paths'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/application/routes_reloader.rb:16:in `reload!'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/application/routes_reloader.rb:26:in `block in updater'
from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-4.2.5/lib/active_support/file_update_checker.rb:75:in `execute'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/application/routes_reloader.rb:27:in `updater'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/application/routes_reloader.rb:7:in `execute_if_updated'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/application/finisher.rb:69:in `block in <module:Finisher>'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/initializable.rb:30:in `instance_exec'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/initializable.rb:30:in `run'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/initializable.rb:55:in `block in run_initializers'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:228:in `block in tsort_each'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:431:in `each_strongly_connected_component_from'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:349:in `block in each_strongly_connected_component'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:347:in `each'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:347:in `call'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:347:in `each_strongly_connected_component'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:226:in `tsort_each'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:205:in `tsort_each'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/initializable.rb:54:in `run_initializers'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/application.rb:352:in `initialize!'
from /home/ubuntu/workspace/config/environment.rb:5:in `<top (required)>'
from /home/ubuntu/workspace/config.ru:3:in `require'
from /home/ubuntu/workspace/config.ru:3:in `block in <main>'
from /usr/local/rvm/gems/ruby-2.3.0/gems/rack-1.6.4/lib/rack/builder.rb:55:in `instance_eval'
from /usr/local/rvm/gems/ruby-2.3.0/gems/rack-1.6.4/lib/rack/builder.rb:55:in `initialize'
from /home/ubuntu/workspace/config.ru:in `new'
from /home/ubuntu/workspace/config.ru:in `<main>'
from /usr/local/rvm/gems/ruby-2.3.0/gems/rack-1.6.4/lib/rack/builder.rb:49:in `eval'
from /usr/local/rvm/gems/ruby-2.3.0/gems/rack-1.6.4/lib/rack/builder.rb:49:in `new_from_string'
from /usr/local/rvm/gems/ruby-2.3.0/gems/rack-1.6.4/lib/rack/builder.rb:40:in `parse_file'
from /usr/local/rvm/gems/ruby-2.3.0/gems/rack-1.6.4/lib/rack/server.rb:299:in `build_app_and_options_from_config'
from /usr/local/rvm/gems/ruby-2.3.0/gems/rack-1.6.4/lib/rack/server.rb:208:in `app'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/server.rb:61:in `app'
from /usr/local/rvm/gems/ruby-2.3.0/gems/rack-1.6.4/lib/rack/server.rb:336:in `wrapped_app'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/server.rb:139:in `log_to_stdout'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/server.rb:78:in `start'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:80:in `block in server'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:75:in `tap'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:75:in `server'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.5/lib/rails/commands.rb:17:in `<top (required)>'
from /home/ubuntu/workspace/bin/rails:9:in `require'
from /home/ubuntu/workspace/bin/rails:9:in `<top (required)>'
from /usr/local/rvm/gems/ruby-2.3.0/gems/spring-2.0.0/lib/spring/client/rails.rb:28:in `load'
from /usr/local/rvm/gems/ruby-2.3.0/gems/spring-2.0.0/lib/spring/client/rails.rb:28:in `call'
from /usr/local/rvm/gems/ruby-2.3.0/gems/spring-2.0.0/lib/spring/client/command.rb:7:in `call'
from /usr/local/rvm/gems/ruby-2.3.0/gems/spring-2.0.0/lib/spring/client.rb:30:in `run'
from /usr/local/rvm/gems/ruby-2.3.0/gems/spring-2.0.0/bin/spring:49:in `<top (required)>'
from /usr/local/rvm/gems/ruby-2.3.0/gems/spring-2.0.0/lib/spring/binstub.rb:31:in `load'
from /usr/local/rvm/gems/ruby-2.3.0/gems/spring-2.0.0/lib/spring/binstub.rb:31:in `<top (required)>'
from /home/ubuntu/workspace/bin/spring:14:in `require'
from /home/ubuntu/workspace/bin/spring:14:in `<top (required)>'
from bin/rails:3:in `load'
from bin/rails:3:in `<main>'
`
我在index.html.erb文件中,不懂link_to后面的语句内容的含义。我有2种代码方案:
(1)
<% if course.open? %>
<td><%= link_to "关闭", **close_course_path(course)**, :method => "close", class: 'btn btn-xs btn-info' %></td>
<% else %>
<td><%= link_to "开课", **openc_course_path(course)**, :method => "openc", class: 'btn btn-xs btn-info' %></td>
<% end %>
(2)
<% if course.open? %>
<td><%= link_to "关闭", **courses_path(course)**, :method => "close", class: 'btn btn-xs btn-info' %></td>
<% else %>
<td><%= link_to "开课", **courses_path(course)**, :method => "openc", class: 'btn btn-xs btn-info' %></td>
<% end %>
当我用(1)代码时,run网页,会产生“no routes match”的错误
当我用(2)代码时,run网页,会产生“param is mising or empty:course”的错误
老师您好:
我想请教一下如何添加学生端与老师端的通信,是否和创建成绩的思路一样,谢谢老师
Specified 'postgresql' for database adapter, but the gem is not loaded. Add gem 'pg' to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).
创建表的时候输入代码rake db:create:all直接报错,然后gem install pg,bundle之后还是出现这个问题
以下是错误log:
$ rake db:create:all
Specified 'postgresql' for database adapter, but the gem is not loaded. Add gem 'pg' to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/connection_adapters/connection_specification.rb:177:in rescue in spec' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/connection_adapters/connection_specification.rb:174:inspec'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/connection_handling.rb:50:in establish_connection' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/postgresql_database_tasks.rb:6:inestablish_connection'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/postgresql_database_tasks.rb:76:in establish_master_connection' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/postgresql_database_tasks.rb:14:increate'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:93:in create' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:102:inblock in create_all'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:284:in block in each_local_configuration' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:280:ineach_value'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:280:in each_local_configuration' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:102:increate_all'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/railties/databases.rake:11:in block (3 levels) in <top (required)>' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/task.rb:248:inblock in execute'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/task.rb:243:in each' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/task.rb:243:inexecute'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/task.rb:187:in block in invoke_with_call_chain' /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/monitor.rb:214:inmon_synchronize'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/task.rb:180:in invoke_with_call_chain' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/task.rb:173:ininvoke'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:152:in invoke_task' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:108:inblock (2 levels) in top_level'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:108:in each' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:108:inblock in top_level'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:117:in run_with_threads' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:102:intop_level'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:80:in block in run' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:178:instandard_exception_handling'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:77:in run' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/exe/rake:27:in'
/usr/local/rvm/gems/ruby-2.3.0/bin/rake:23:in load' /usr/local/rvm/gems/ruby-2.3.0/bin/rake:23:in
'
Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"unicode", "pool"=>5, "database"=>"courseselect_development"}
Specified 'postgresql' for database adapter, but the gem is not loaded. Add gem 'pg' to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/connection_adapters/connection_specification.rb:177:in rescue in spec' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/connection_adapters/connection_specification.rb:174:inspec'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/connection_handling.rb:50:in establish_connection' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/postgresql_database_tasks.rb:6:inestablish_connection'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/postgresql_database_tasks.rb:76:in establish_master_connection' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/postgresql_database_tasks.rb:14:increate'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:93:in create' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:102:inblock in create_all'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:284:in block in each_local_configuration' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:280:ineach_value'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:280:in each_local_configuration' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:102:increate_all'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/railties/databases.rake:11:in block (3 levels) in <top (required)>' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/task.rb:248:inblock in execute'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/task.rb:243:in each' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/task.rb:243:inexecute'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/task.rb:187:in block in invoke_with_call_chain' /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/monitor.rb:214:inmon_synchronize'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/task.rb:180:in invoke_with_call_chain' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/task.rb:173:ininvoke'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:152:in invoke_task' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:108:inblock (2 levels) in top_level'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:108:in each' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:108:inblock in top_level'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:117:in run_with_threads' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:102:intop_level'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:80:in block in run' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:178:instandard_exception_handling'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:77:in run' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/exe/rake:27:in'
/usr/local/rvm/gems/ruby-2.3.0/bin/rake:23:in load' /usr/local/rvm/gems/ruby-2.3.0/bin/rake:23:in'
Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"unicode", "pool"=>5, "database"=>"courseselect_test"}
Specified 'postgresql' for database adapter, but the gem is not loaded. Add gem 'pg' to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/connection_adapters/connection_specification.rb:177:in rescue in spec' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/connection_adapters/connection_specification.rb:174:inspec'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/connection_handling.rb:50:in establish_connection' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/postgresql_database_tasks.rb:6:inestablish_connection'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/postgresql_database_tasks.rb:76:in establish_master_connection' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/postgresql_database_tasks.rb:14:increate'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:93:in create' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:102:inblock in create_all'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:284:in block in each_local_configuration' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:280:ineach_value'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:280:in each_local_configuration' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:102:increate_all'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/railties/databases.rake:11:in block (3 levels) in <top (required)>' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/task.rb:248:inblock in execute'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/task.rb:243:in each' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/task.rb:243:inexecute'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/task.rb:187:in block in invoke_with_call_chain' /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/monitor.rb:214:inmon_synchronize'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/task.rb:180:in invoke_with_call_chain' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/task.rb:173:ininvoke'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:152:in invoke_task' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:108:inblock (2 levels) in top_level'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:108:in each' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:108:inblock in top_level'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:117:in run_with_threads' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:102:intop_level'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:80:in block in run' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:178:instandard_exception_handling'
/usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/lib/rake/application.rb:77:in run' /usr/local/rvm/gems/ruby-2.3.0/gems/rake-11.2.2/exe/rake:27:in'
/usr/local/rvm/gems/ruby-2.3.0/bin/rake:23:in load' /usr/local/rvm/gems/ruby-2.3.0/bin/rake:23:in'
Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"unicode", "pool"=>5, "database"=>"courseselect_developement"}
谢谢楼主
Showing /home/ubuntu/workspace/app/views/courses/_form.html.erb where line #8 raised:
undefined method `name' for #<Course id: nil, created_at: nil, updated_at: nil>
Extracted source (around line #8):
6 <div class="input-group">
7 <div class="input-group-addon"><span class="glyphicon glyphicon-arrow-right"></span></div>
8 <%= f.text_field :name, class: 'form-control', placeholder: "输入课程名" %>
9 </div>
10 </div>
11 </div>
Trace of template inclusion: app/views/courses/new.html.erb
Rails.root: /home/ubuntu/workspace
运行时提示未定义name方法,这是为什么?
form_for本身是个函数,形式为form_for(record, options = {}, &block)
,为什么能写为
form_for @article, url: {action: "create"}, html: {class: "nifty_form"} do |f|
,请问如何理解?
form_for + 空格是怎样的语法,以及用逗号分隔的分别是三个参数吗?
Thanks!
老师,正则表达式的主要意义是在某些语句中搜索或替换某些字符,对吗?
我有时候看不懂正则表达式里的 / 或 \ 或 #,怎么解读比较好?
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.boolean "opencourse", default: false
我为course表增加了一个boolean变量opencourse
def list
@openedcourses=Array.new
@course=Course.all
@course=@course-current_user.courses
@course.each do |course|
if course.opencourse then
@[email protected](course)
end
end
@course=@openedcourses
end
上面是我修改的list函数
def open
@course=Course.find_by_id(params[:id])
@course.opencourse=true
redirect_to courses_path, flash: {:success => "已经成功开启该课程:#{ @course.name}"}
end
然后添加一个open函数
<% if teacher_logged_in? %>
<td><%= link_to "编辑", edit_course_url(course), class: 'btn btn-xs btn-info' %></td>
<td><%= link_to "开课", open_course_url(course), class: 'btn btn-xs btn-info' %></td>
然后在index视图文件里增加了一个开课按钮
接下来我用学生登录,点击选修课程,看不到任何课程,应为opencourse默认为false,但是我用老师登录,同时点击了一个课程的开课按钮,网页提示开课成功,之后我再以学生身份登入点击选修课程,按道理应该出现我刚才点击开课的那一门课,可是还是看不到任何课程,请问助教这是怎么回事。。。是不是我哪里代码写错了
C:\Users\tt\Documents\GitHub [master +0 ~1 -1 !]> git push origin master
To https://github.com/tttrzpt/CourseSelect.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/tttrzpt/CourseSelect.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
C:\Users\tt\Documents\GitHub [master +0 ~1 -1 !]> git pull origin master
From https://github.com/tttrzpt/CourseSelect
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
fatal: refusing to merge unrelated histories
C:\Users\tt\Documents\GitHub [master +0 ~1 -1 !]> git remote -v
origin https://github.com/tttrzpt/CourseSelect.git (fetch)
origin https://github.com/tttrzpt/CourseSelect.git (push)
C:\Users\tt\Documents\GitHub [master +0 ~1 -1 !]> git push origin master
To https://github.com/tttrzpt/CourseSelect.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/tttrzpt/CourseSelect.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
上传不上去是哪里错了?
请问什么情况下用<% %>
什么情况下下用<%= %>
请大家在提问前,看看自己的问题是否已经被别人提过,没提过的再贴出来。
请贴出来报错的log以及自己的代码,最好不要截图
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.