undefined method `title' for #<Comment:0xbe9aba0> - ruby-on-rails

I just started rails, every things was working fine and suddenly I got below error.
undefined method `title' for #< Comment:0xbe9aba0>
I tried other posts and did not figure out what is wrong.
Extracted source (around line #6):
#article = Article.find(params[:article_id])//line 4
#comment = #article.comments.new(comment_params)//line 5
**#comment.save** //line 6
redirect_to article_path(#article) //line 7
end
stack trace is below:
activemodel (4.1.8) lib/active_model/attribute_methods.rb:435:in `method_missing'
activerecord (4.1.8) lib/active_record/attribute_methods.rb:213:in `method_missing'
activemodel (4.1.8) lib/active_model/validator.rb:165:in `block in validate'
activemodel (4.1.8) lib/active_model/validator.rb:164:in `each'
activemodel (4.1.8) lib/active_model/validator.rb:164:in `validate'
activerecord (4.1.8) lib/active_record/validations/presence.rb:5:in `validate'
activesupport (4.1.8) lib/active_support/callbacks.rb:447:in `public_send'
activesupport (4.1.8) lib/active_support/callbacks.rb:447:in `block in make_lambda'
activesupport (4.1.8) lib/active_support/callbacks.rb:184:in `call'
activesupport (4.1.8) lib/active_support/callbacks.rb:184:in `block in simple'
activesupport (4.1.8) lib/active_support/callbacks.rb:86:in `call'
activesupport (4.1.8) lib/active_support/callbacks.rb:86:in `run_callbacks'
activemodel (4.1.8) lib/active_model/validations.rb:376:in `run_validations!'
activemodel (4.1.8) lib/active_model/validations/callbacks.rb:111:in `block in run_validations!'
activesupport (4.1.8) lib/active_support/callbacks.rb:82:in `run_callbacks'
activemodel (4.1.8) lib/active_model/validations/callbacks.rb:111:in `run_validations!'
activemodel (4.1.8) lib/active_model/validations.rb:317:in `valid?'
activerecord (4.1.8) lib/active_record/validations.rb:70:in `valid?'
activerecord (4.1.8) lib/active_record/validations.rb:77:in `perform_validations'
activerecord (4.1.8) lib/active_record/validations.rb:51:in `save'
activerecord (4.1.8) lib/active_record/attribute_methods/dirty.rb:21:in `save'
activerecord (4.1.8) lib/active_record/transactions.rb:268:in `block (2 levels) in save'
activerecord (4.1.8) lib/active_record/transactions.rb:329:in `block in with_transaction_returning_status'
activerecord (4.1.8) lib/active_record/connection_adapters/abstract/database_statements.rb:201:in `block in transaction'
activerecord (4.1.8) lib/active_record/connection_adapters/abstract/database_statements.rb:209:in `within_new_transaction'
activerecord (4.1.8) lib/active_record/connection_adapters/abstract/database_statements.rb:201:in `transaction'
activerecord (4.1.8) lib/active_record/transactions.rb:208:in `transaction'
activerecord (4.1.8) lib/active_record/transactions.rb:326:in `with_transaction_returning_status'
activerecord (4.1.8) lib/active_record/transactions.rb:268:in `block in save'
activerecord (4.1.8) lib/active_record/transactions.rb:283:in `rollback_active_record_state!'
activerecord (4.1.8) lib/active_record/transactions.rb:267:in `save'
app/controllers/comments_controller.rb:6:in `create'
actionpack (4.1.8) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
actionpack (4.1.8) lib/abstract_controller/base.rb:189:in `process_action'
actionpack (4.1.8) lib/action_controller/metal/rendering.rb:10:in `process_action'
actionpack (4.1.8) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
activesupport (4.1.8) lib/active_support/callbacks.rb:113:in `call'
activesupport (4.1.8) lib/active_support/callbacks.rb:113:in `call'
activesupport (4.1.8) lib/active_support/callbacks.rb:229:in `block in halting'
activesupport (4.1.8) lib/active_support/callbacks.rb:229:in `call'
activesupport (4.1.8) lib/active_support/callbacks.rb:229:in `block in halting'
activesupport (4.1.8) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.8) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.8) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.8) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.8) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.8) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.8) lib/active_support/callbacks.rb:86:in `call'
activesupport (4.1.8) lib/active_support/callbacks.rb:86:in `run_callbacks'
actionpack (4.1.8) lib/abstract_controller/callbacks.rb:19:in `process_action'
actionpack (4.1.8) lib/action_controller/metal/rescue.rb:29:in `process_action'
actionpack (4.1.8) lib/action_controller/metal/instrumentation.rb:31:in `block in process_action'
activesupport (4.1.8) lib/active_support/notifications.rb:159:in `block in instrument'
activesupport (4.1.8) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (4.1.8) lib/active_support/notifications.rb:159:in `instrument'
actionpack (4.1.8) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
actionpack (4.1.8) lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
activerecord (4.1.8) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
actionpack (4.1.8) lib/abstract_controller/base.rb:136:in `process'
actionview (4.1.8) lib/action_view/rendering.rb:30:in `process'
actionpack (4.1.8) lib/action_controller/metal.rb:196:in `dispatch'
actionpack (4.1.8) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
actionpack (4.1.8) lib/action_controller/metal.rb:232:in `block in action'
actionpack (4.1.8) lib/action_dispatch/routing/route_set.rb:82:in `call'
actionpack (4.1.8) lib/action_dispatch/routing/route_set.rb:82:in `dispatch'
actionpack (4.1.8) lib/action_dispatch/routing/route_set.rb:50:in `call'
actionpack (4.1.8) lib/action_dispatch/journey/router.rb:73:in `block in call'
actionpack (4.1.8) lib/action_dispatch/journey/router.rb:59:in `each'
actionpack (4.1.8) lib/action_dispatch/journey/router.rb:59:in `call'
actionpack (4.1.8) lib/action_dispatch/routing/route_set.rb:678:in `call'
rack (1.5.2) lib/rack/etag.rb:23:in `call'
rack (1.5.2) lib/rack/conditionalget.rb:35:in `call'
rack (1.5.2) lib/rack/head.rb:11:in `call'
actionpack (4.1.8) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
actionpack (4.1.8) lib/action_dispatch/middleware/flash.rb:254:in `call'
rack (1.5.2) lib/rack/session/abstract/id.rb:225:in `context'
rack (1.5.2) lib/rack/session/abstract/id.rb:220:in `call'
actionpack (4.1.8) lib/action_dispatch/middleware/cookies.rb:560:in `call'
activerecord (4.1.8) lib/active_record/query_cache.rb:36:in `call'
activerecord (4.1.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:621:in `call'
activerecord (4.1.8) lib/active_record/migration.rb:380:in `call'
actionpack (4.1.8) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (4.1.8) lib/active_support/callbacks.rb:82:in `run_callbacks'
actionpack (4.1.8) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
actionpack (4.1.8) lib/action_dispatch/middleware/reloader.rb:73:in `call'
actionpack (4.1.8) lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
actionpack (4.1.8) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
actionpack (4.1.8) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
railties (4.1.8) lib/rails/rack/logger.rb:38:in `call_app'
railties (4.1.8) lib/rails/rack/logger.rb:20:in `block in call'
activesupport (4.1.8) lib/active_support/tagged_logging.rb:68:in `block in tagged'
activesupport (4.1.8) lib/active_support/tagged_logging.rb:26:in `tagged'
activesupport (4.1.8) lib/active_support/tagged_logging.rb:68:in `tagged'
railties (4.1.8) lib/rails/rack/logger.rb:20:in `call'
actionpack (4.1.8) lib/action_dispatch/middleware/request_id.rb:21:in `call'
rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
rack (1.5.2) lib/rack/runtime.rb:17:in `call'
activesupport (4.1.8) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
actionpack (4.1.8) lib/action_dispatch/middleware/static.rb:84:in `call'
rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
railties (4.1.8) lib/rails/engine.rb:514:in `call'
railties (4.1.8) lib/rails/application.rb:144:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
rack (1.5.2) lib/rack/content_length.rb:14:in `call'
rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
/home/novin/.rvm/rubies/ruby-2.1.3/lib/ruby/2.1.0/webrick/httpserver.rb:138:in `service'
/home/novin/.rvm/rubies/ruby-2.1.3/lib/ruby/2.1.0/webrick/httpserver.rb:94:in `run'
/home/novin/.rvm/rubies/ruby-2.1.3/lib/ruby/2.1.0/webrick/server.rb:295:in `block in start_thread'
Comment class:
class CommentsController < ApplicationController
def create
#article = Article.find(params[:article_id])
#comment = #article.comments.new(comment_params)
#comment.save
redirect_to article_path(#article)
end
private
def comment_params
params.require(:comment).permit(:name, :msg, :article_id)
end
end
Article class
class ArticlesController < ApplicationController
def index
#articles = Article.all
end
def show
#article = Article.find(params[:id])
end
end
Let me know if you guys need more details
class Comment < ActiveRecord::Base
belongs_to :article
validates :title, presence: true, length: {minimum: 5}
end

One of the following:
you have a show or index view with a call to name i.e comment.title
you have a validation on name in your comments model
but hard to tell from the info you have given. where do you get the error?

I suspect Comment doesn't have a column called title. Try this to check:
$ rails console
> Comment.column_names
and see if the array includes "title"

The main problem is with your Comment Model. Line number 3 validates :title, presence: true, length: {minimum: 5} Your are not having title column in your comment table.
As you below method, Clearly stated that you don't have title column in your Comment model.
def comment_params
params.require(:comment).permit(:name, :msg, :article_id)
end
So remove validates :title, presence: true, length: {minimum: 5} from your Comment model and all would be good.

Related

Undefined method `year' for nil:NilClass

I'm using monologue engine to creata a blog. I follow the readme file at https://github.com/jipiboily/monologue to config my app and database.
When i try to create a new article using monologue interface i get this error: undefined method 'year' for nil:NilClass.
Someone does know how to fix it?
Complete log file:
NoMethodError (undefined method `year' for nil:NilClass):
activesupport (4.1.1) lib/active_support/values/time_zone.rb:290:in `parse'
activesupport (4.1.1) lib/active_support/core_ext/string/zones.rb:9:in `in_time_zone'
activerecord (4.1.1) lib/active_record/attribute_methods/time_zone_conversion.rb:37:in `published_at='
activerecord (4.1.1) lib/active_record/attribute_assignment.rb:45:in `public_send'
activerecord (4.1.1) lib/active_record/attribute_assignment.rb:45:in `_assign_attribute'
activerecord (4.1.1) lib/active_record/attribute_assignment.rb:32:in `block in assign_attributes'
activerecord (4.1.1) lib/active_record/attribute_assignment.rb:26:in `each'
activerecord (4.1.1) lib/active_record/attribute_assignment.rb:26:in `assign_attributes'
activerecord (4.1.1) lib/active_record/core.rb:452:in `init_attributes'
activerecord (4.1.1) lib/active_record/core.rb:198:in `initialize'
activerecord (4.1.1) lib/active_record/inheritance.rb:30:in `new'
activerecord (4.1.1) lib/active_record/inheritance.rb:30:in `new'
monologue (0.4.1) app/controllers/monologue/admin/posts_controller.rb:24:in `create'
actionpack (4.1.1) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
actionpack (4.1.1) lib/abstract_controller/base.rb:189:in `process_action'
actionpack (4.1.1) lib/action_controller/metal/rendering.rb:10:in `process_action'
actionpack (4.1.1) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
activesupport (4.1.1) lib/active_support/callbacks.rb:113:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:113:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:149:in `block in halting_and_conditional'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.1) lib/active_support/callbacks.rb:229:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:229:in `block in halting'
activesupport (4.1.1) lib/active_support/callbacks.rb:229:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:229:in `block in halting'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.1) lib/active_support/callbacks.rb:86:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:86:in `run_callbacks'
actionpack (4.1.1) lib/abstract_controller/callbacks.rb:19:in `process_action'
actionpack (4.1.1) lib/action_controller/metal/rescue.rb:29:in `process_action'
actionpack (4.1.1) lib/action_controller/metal/instrumentation.rb:31:in `block in process_action'
activesupport (4.1.1) lib/active_support/notifications.rb:159:in `block in instrument'
activesupport (4.1.1) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (4.1.1) lib/active_support/notifications.rb:159:in `instrument'
actionpack (4.1.1) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
actionpack (4.1.1) lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
activerecord (4.1.1) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
actionpack (4.1.1) lib/abstract_controller/base.rb:136:in `process'
actionview (4.1.1) lib/action_view/rendering.rb:30:in `process'
actionpack (4.1.1) lib/action_controller/metal.rb:195:in `dispatch'
actionpack (4.1.1) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
actionpack (4.1.1) lib/action_controller/metal.rb:231:in `block in action'
actionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:80:in `call'
actionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:80:in `dispatch'
actionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:48:in `call'
actionpack (4.1.1) lib/action_dispatch/journey/router.rb:71:in `block in call'
actionpack (4.1.1) lib/action_dispatch/journey/router.rb:59:in `each'
actionpack (4.1.1) lib/action_dispatch/journey/router.rb:59:in `call'
actionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:676:in `call'
railties (4.1.1) lib/rails/engine.rb:514:in `call'
railties (4.1.1) lib/rails/railtie.rb:194:in `public_send'
railties (4.1.1) lib/rails/railtie.rb:194:in `method_missing'
actionpack (4.1.1) lib/action_dispatch/journey/router.rb:71:in `block in call'
actionpack (4.1.1) lib/action_dispatch/journey/router.rb:59:in `each'
actionpack (4.1.1) lib/action_dispatch/journey/router.rb:59:in `call'
actionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:676:in `call'
rack (1.5.4) lib/rack/etag.rb:23:in `call'
rack (1.5.4) lib/rack/conditionalget.rb:35:in `call'
rack (1.5.4) lib/rack/head.rb:11:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/flash.rb:254:in `call'
rack (1.5.4) lib/rack/session/abstract/id.rb:225:in `context'
rack (1.5.4) lib/rack/session/abstract/id.rb:220:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/cookies.rb:560:in `call'
activerecord (4.1.1) lib/active_record/query_cache.rb:36:in `call'
activerecord (4.1.1) lib/active_record/connection_adapters/abstract/connection_pool.rb:621:in `call'
activerecord (4.1.1) lib/active_record/migration.rb:380:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (4.1.1) lib/active_support/callbacks.rb:82:in `run_callbacks'
actionpack (4.1.1) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/reloader.rb:73:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
railties (4.1.1) lib/rails/rack/logger.rb:38:in `call_app'
railties (4.1.1) lib/rails/rack/logger.rb:20:in `block in call'
activesupport (4.1.1) lib/active_support/tagged_logging.rb:68:in `block in tagged'
activesupport (4.1.1) lib/active_support/tagged_logging.rb:26:in `tagged'
activesupport (4.1.1) lib/active_support/tagged_logging.rb:68:in `tagged'
railties (4.1.1) lib/rails/rack/logger.rb:20:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/request_id.rb:21:in `call'
rack (1.5.4) lib/rack/methodoverride.rb:21:in `call'
rack (1.5.4) lib/rack/runtime.rb:17:in `call'
activesupport (4.1.1) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
rack (1.5.4) lib/rack/lock.rb:17:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/static.rb:64:in `call'
rack (1.5.4) lib/rack/sendfile.rb:112:in `call'
railties (4.1.1) lib/rails/engine.rb:514:in `call'
railties (4.1.1) lib/rails/application.rb:144:in `call'
rack (1.5.4) lib/rack/lock.rb:17:in `call'
rack (1.5.4) lib/rack/content_length.rb:14:in `call'
rack (1.5.4) lib/rack/handler/webrick.rb:60:in `service'
/usr/local/lib/ruby/2.2.0/webrick/httpserver.rb:138:in `service'
/usr/local/lib/ruby/2.2.0/webrick/httpserver.rb:94:in `run'
/usr/local/lib/ruby/2.2.0/webrick/server.rb:294:in `block in start_thread'
I resolved using ruby 2.1.2.
Thanks to all!
It's actually a bug with rails, the fix is to update Rails as you can see in this commit
https://github.com/rails/rails/commit/e88da370f190cabd1e9750c5b3531735950ab415

Rails app doesn't refresh correctly when one character is changed

When I'm working on my app I try to refresh the browser it uses the old code when only one character is changed.
For example I had a typo and got the error:
undefined method `All' for #
and it highlights the code as the problem
#locations = Location.All
The problem is the capital letter. In my file I changed it to lowercase so it's correct. I refresh the page and still get that same error and the line that's highlighted with the problem is still capitalized. If I change it and add like a third l Ill get the expect error can'y get method alll. Then If I change it back to all It will work correctly.
Same thing happens with when tweaking css. If I change a value for a color from 3 to 4 it wont update the color. I have to change from 3 to 34, refresh, back to 4 and refresh for it to work
Ive been doing a lot of searching but can't find anything really related or helpful.All I did find was to use development mode which Im pretty sure Im using. Happens in diffrent browsers too.
Full trace for the error. File has the correct code.
activerecord (4.1.8) lib/active_record/dynamic_matchers.rb:26:in `method_missing'
app/controllers/api/v1/citys_controller.rb:6:in `index'
actionpack (4.1.8) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
actionpack (4.1.8) lib/abstract_controller/base.rb:189:in `process_action'
actionpack (4.1.8) lib/action_controller/metal/rendering.rb:10:in `process_action'
actionpack (4.1.8) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
activesupport (4.1.8) lib/active_support/callbacks.rb:113:in `call'
activesupport (4.1.8) lib/active_support/callbacks.rb:113:in `call'
activesupport (4.1.8) lib/active_support/callbacks.rb:229:in `block in halting'
activesupport (4.1.8) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.8) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.8) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.8) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.8) lib/active_support/callbacks.rb:86:in `call'
activesupport (4.1.8) lib/active_support/callbacks.rb:86:in `run_callbacks'
actionpack (4.1.8) lib/abstract_controller/callbacks.rb:19:in `process_action'
actionpack (4.1.8) lib/action_controller/metal/rescue.rb:29:in `process_action'
actionpack (4.1.8) lib/action_controller/metal/instrumentation.rb:31:in `block in process_action'
activesupport (4.1.8) lib/active_support/notifications.rb:159:in `block in instrument'
activesupport (4.1.8) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (4.1.8) lib/active_support/notifications.rb:159:in `instrument'
actionpack (4.1.8) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
actionpack (4.1.8) lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
activerecord (4.1.8) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
actionpack (4.1.8) lib/abstract_controller/base.rb:136:in `process'
actionview (4.1.8) lib/action_view/rendering.rb:30:in `process'
actionpack (4.1.8) lib/action_controller/metal.rb:196:in `dispatch'
actionpack (4.1.8) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
actionpack (4.1.8) lib/action_controller/metal.rb:232:in `block in action'
actionpack (4.1.8) lib/action_dispatch/routing/route_set.rb:82:in `call'
actionpack (4.1.8) lib/action_dispatch/routing/route_set.rb:82:in `dispatch'
actionpack (4.1.8) lib/action_dispatch/routing/route_set.rb:50:in `call'
actionpack (4.1.8) lib/action_dispatch/journey/router.rb:73:in `block in call'
actionpack (4.1.8) lib/action_dispatch/journey/router.rb:59:in `each'
actionpack (4.1.8) lib/action_dispatch/journey/router.rb:59:in `call'
actionpack (4.1.8) lib/action_dispatch/routing/route_set.rb:678:in `call'
rack (1.5.2) lib/rack/etag.rb:23:in `call'
rack (1.5.2) lib/rack/conditionalget.rb:25:in `call'
rack (1.5.2) lib/rack/head.rb:11:in `call'
actionpack (4.1.8) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
actionpack (4.1.8) lib/action_dispatch/middleware/flash.rb:254:in `call'
rack (1.5.2) lib/rack/session/abstract/id.rb:225:in `context'
rack (1.5.2) lib/rack/session/abstract/id.rb:220:in `call'
actionpack (4.1.8) lib/action_dispatch/middleware/cookies.rb:560:in `call'
activerecord (4.1.8) lib/active_record/query_cache.rb:36:in `call'
activerecord (4.1.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:621:in `call'
activerecord (4.1.8) lib/active_record/migration.rb:380:in `call'
actionpack (4.1.8) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (4.1.8) lib/active_support/callbacks.rb:82:in `run_callbacks'
actionpack (4.1.8) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
actionpack (4.1.8) lib/action_dispatch/middleware/reloader.rb:73:in `call'
actionpack (4.1.8) lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
actionpack (4.1.8) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
actionpack (4.1.8) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
railties (4.1.8) lib/rails/rack/logger.rb:38:in `call_app'
railties (4.1.8) lib/rails/rack/logger.rb:20:in `block in call'
activesupport (4.1.8) lib/active_support/tagged_logging.rb:68:in `block in tagged'
activesupport (4.1.8) lib/active_support/tagged_logging.rb:26:in `tagged'
activesupport (4.1.8) lib/active_support/tagged_logging.rb:68:in `tagged'
railties (4.1.8) lib/rails/rack/logger.rb:20:in `call'
actionpack (4.1.8) lib/action_dispatch/middleware/request_id.rb:21:in `call'
rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
rack (1.5.2) lib/rack/runtime.rb:17:in `call'
activesupport (4.1.8) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
actionpack (4.1.8) lib/action_dispatch/middleware/static.rb:84:in `call'
rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
railties (4.1.8) lib/rails/engine.rb:514:in `call'
railties (4.1.8) lib/rails/application.rb:144:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
rack (1.5.2) lib/rack/content_length.rb:14:in `call'
rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
/home/vagrant/.rbenv/versions/2.1.3/lib/ruby/2.1.0/webrick/httpserver.rb:138:in `service'
/home/vagrant/.rbenv/versions/2.1.3/lib/ruby/2.1.0/webrick/httpserver.rb:94:in `run'
/home/vagrant/.rbenv/versions/2.1.3/lib/ruby/2.1.0/webrick/server.rb:295:in `block in start_thread'
environment.rb :
ENV["RAILS_ENV"] = "development"
require File.expand_path('../application', __FILE__)
Rails.application.initialize!
development.rb :
Rails.application.configure do
config.cache_classes = false
config.eager_load = false
config.consider_all_requests_local = true
config.action_controller.perform_caching = false
config.action_mailer.raise_delivery_errors = false
config.active_support.deprecation = :log
config.active_record.migration_error = :page_load
config.assets.debug = true
config.assets.raise_runtime_errors = true
end
Do you meant the:
#locations = Location.all
Some ideas:
All, along with Location is a class name, or constant. I believe you wish to call a class method called all.
If the error persists anyway, restart the server, because it seems that the server has cached the code in the controller/model.
Please fix the environment config by disabling class caching, eager loading (for Rails 4), and cache performing as follows:
config.cache_classes = false
config.eager_load = false
config.action_controller.perform_caching = false

undefined scope error in FullCalendar-rails & Postgres for dbm

I'm breaking my head.
I was able to implement fullcalendar-rails using sqlite3. When I installed it in my app (which uses Postgresql) I started having major problems.
When I try to view my calendar at localhost:3000/events/ I get an 'undefined method' error.
Event class:
class Event < ActiveRecord::Base
scope :between, lambda {|start_time, end_time|
{:conditions => ["? < starts_at and starts_at < ?", Event.format_date(start_time), Event.format_date(end_time)] }
}
# need to override the json view to return what full_calendar is expecting.
# http://arshaw.com/fullcalendar/docs/event_data/Event_Object/
def as_json(options = {})
{
:id => self.id,
:title => self.title,
:description => self.description || "",
:start => start_time.rfc822,
:end => end_time.rfc822,
:allDay => self.all_day,
:recurring => false,
:url => Rails.application.routes.url_helpers.event_path(id),
#:color => "red"
}
end
def self.between(start_time, end_time)
where('starts_at > :lo and starts_at < :up',
:lo => Event.format_date(start_time),
:up => Event.format_date(end_time)
)
end
end
What I've tried
this is the part of the event_controller that the error references (the "line 5"):
#events = Event.scoped
If I make it:
#events = Event.all
then the error message goes away, but no calendar renders.
I cannot get the calendar to render AT ALL in my app on Postgresql and I've tried substituting the "starts_at" text in the scope:
class EventsController < ApplicationController
# GET /events
# GET /events.json
def index
#events = Event.scoped
#events = Event.between(params['start'], params['end']) if (params['start'] && params['end'])
respond_to do |format|
format.html # index.html.erb
format.json { render :json => #events }
end
end
Full trace:
activerecord (4.1.1) lib/active_record/dynamic_matchers.rb:26:in `method_missing'
app/controllers/events_controller.rb:5:in `index'
actionpack (4.1.1) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
actionpack (4.1.1) lib/abstract_controller/base.rb:189:in `process_action'
actionpack (4.1.1) lib/action_controller/metal/rendering.rb:10:in `process_action'
actionpack (4.1.1) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
activesupport (4.1.1) lib/active_support/callbacks.rb:113:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:113:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:229:in `block in halting'
activesupport (4.1.1) lib/active_support/callbacks.rb:229:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:229:in `block in halting'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.1) lib/active_support/callbacks.rb:86:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:86:in `run_callbacks'
actionpack (4.1.1) lib/abstract_controller/callbacks.rb:19:in `process_action'
actionpack (4.1.1) lib/action_controller/metal/rescue.rb:29:in `process_action'
actionpack (4.1.1) lib/action_controller/metal/instrumentation.rb:31:in `block in process_action'
activesupport (4.1.1) lib/active_support/notifications.rb:159:in `block in instrument'
activesupport (4.1.1) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (4.1.1) lib/active_support/notifications.rb:159:in `instrument'
actionpack (4.1.1) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
actionpack (4.1.1) lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
activerecord (4.1.1) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
actionpack (4.1.1) lib/abstract_controller/base.rb:136:in `process'
actionview (4.1.1) lib/action_view/rendering.rb:30:in `process'
actionpack (4.1.1) lib/action_controller/metal.rb:195:in `dispatch'
actionpack (4.1.1) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
actionpack (4.1.1) lib/action_controller/metal.rb:231:in `block in action'
actionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:80:in `call'
actionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:80:in `dispatch'
actionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:48:in `call'
actionpack (4.1.1) lib/action_dispatch/journey/router.rb:71:in `block in call'
actionpack (4.1.1) lib/action_dispatch/journey/router.rb:59:in `each'
actionpack (4.1.1) lib/action_dispatch/journey/router.rb:59:in `call'
actionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:676:in `call'
rack (1.5.2) lib/rack/etag.rb:23:in `call'
rack (1.5.2) lib/rack/conditionalget.rb:25:in `call'
rack (1.5.2) lib/rack/head.rb:11:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/flash.rb:254:in `call'
rack (1.5.2) lib/rack/session/abstract/id.rb:225:in `context'
rack (1.5.2) lib/rack/session/abstract/id.rb:220:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/cookies.rb:560:in `call'
activerecord (4.1.1) lib/active_record/query_cache.rb:36:in `call'
activerecord (4.1.1) lib/active_record/connection_adapters/abstract/connection_pool.rb:621:in `call'
activerecord (4.1.1) lib/active_record/migration.rb:380:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (4.1.1) lib/active_support/callbacks.rb:82:in `run_callbacks'
actionpack (4.1.1) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/reloader.rb:73:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
railties (4.1.1) lib/rails/rack/logger.rb:38:in `call_app'
railties (4.1.1) lib/rails/rack/logger.rb:20:in `block in call'
activesupport (4.1.1) lib/active_support/tagged_logging.rb:68:in `block in tagged'
activesupport (4.1.1) lib/active_support/tagged_logging.rb:26:in `tagged'
activesupport (4.1.1) lib/active_support/tagged_logging.rb:68:in `tagged'
railties (4.1.1) lib/rails/rack/logger.rb:20:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/request_id.rb:21:in `call'
rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
rack (1.5.2) lib/rack/runtime.rb:17:in `call'
activesupport (4.1.1) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/static.rb:64:in `call'
rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
railties (4.1.1) lib/rails/engine.rb:514:in `call'
railties (4.1.1) lib/rails/application.rb:144:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
rack (1.5.2) lib/rack/content_length.rb:14:in `call'
rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'

Uninitialized constant error in controller#create

I am trying to make a form and submit a skill and description into a database. I am almost done however I am getting this error after submitting my info:
NameError in SkillsController#create
uninitialized constant Skill::Description
and it points to this action in my controller:
def create
#skills = Skill.new(skill_params)
if #skills.save
redirect_to :action => 'index'
else
#skills = Skill.find(:all)
render :action => 'new'
end
end
I have a private method at the bottom defining params which states:
private
def skill_params
params.require(:skill).permit(:description)
end
I hope this is enough info to find the issue and I will post my form and skill.rb if anyone thinks that will help. Thanks stackers and good luck! I will keep looking into the error and really appreciate any help on the matter.
This is the fullstack trace as requested:
activerecord (4.1.2.rc1) lib/active_record/inheritance.rb:133:in `compute_type'
activerecord (4.1.2.rc1) lib/active_record/reflection.rb:221:in `klass'
activerecord (4.1.2.rc1) lib/active_record/associations/association.rb:214:in `raise_on_type_mismatch!'
activerecord (4.1.2.rc1) lib/active_record/associations/collection_association.rb:356:in `block in replace'
activerecord (4.1.2.rc1) lib/active_record/associations/collection_association.rb:356:in `each_char'
activerecord (4.1.2.rc1) lib/active_record/associations/collection_association.rb:356:in `replace'
activerecord (4.1.2.rc1) lib/active_record/associations/collection_association.rb:41:in `writer'
activerecord (4.1.2.rc1) lib/active_record/associations/builder/association.rb:118:in `description='
activerecord (4.1.2.rc1) lib/active_record/attribute_assignment.rb:45:in `public_send'
activerecord (4.1.2.rc1) lib/active_record/attribute_assignment.rb:45:in `_assign_attribute'
activerecord (4.1.2.rc1) lib/active_record/attribute_assignment.rb:32:in `block in assign_attributes'
activerecord (4.1.2.rc1) lib/active_record/attribute_assignment.rb:26:in `each'
activerecord (4.1.2.rc1) lib/active_record/attribute_assignment.rb:26:in `assign_attributes'
activerecord (4.1.2.rc1) lib/active_record/core.rb:455:in `init_attributes'
activerecord (4.1.2.rc1) lib/active_record/core.rb:198:in `initialize'
activerecord (4.1.2.rc1) lib/active_record/inheritance.rb:30:in `new'
activerecord (4.1.2.rc1) lib/active_record/inheritance.rb:30:in `new'
app/controllers/skills_controller.rb:29:in `create'
actionpack (4.1.2.rc1) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
actionpack (4.1.2.rc1) lib/abstract_controller/base.rb:189:in `process_action'
actionpack (4.1.2.rc1) lib/action_controller/metal/rendering.rb:10:in `process_action'
actionpack (4.1.2.rc1) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
activesupport (4.1.2.rc1) lib/active_support/callbacks.rb:113:in `call'
activesupport (4.1.2.rc1) lib/active_support/callbacks.rb:113:in `call'
activesupport (4.1.2.rc1) lib/active_support/callbacks.rb:229:in `block in halting'
activesupport (4.1.2.rc1) lib/active_support/callbacks.rb:229:in `call'
activesupport (4.1.2.rc1) lib/active_support/callbacks.rb:229:in `block in halting'
activesupport (4.1.2.rc1) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.2.rc1) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.2.rc1) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.2.rc1) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.2.rc1) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.2.rc1) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.2.rc1) lib/active_support/callbacks.rb:86:in `call'
activesupport (4.1.2.rc1) lib/active_support/callbacks.rb:86:in `run_callbacks'
actionpack (4.1.2.rc1) lib/abstract_controller/callbacks.rb:19:in `process_action'
actionpack (4.1.2.rc1) lib/action_controller/metal/rescue.rb:29:in `process_action'
actionpack (4.1.2.rc1) lib/action_controller/metal/instrumentation.rb:31:in `block in process_action'
activesupport (4.1.2.rc1) lib/active_support/notifications.rb:159:in `block in instrument'
activesupport (4.1.2.rc1) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (4.1.2.rc1) lib/active_support/notifications.rb:159:in `instrument'
actionpack (4.1.2.rc1) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
actionpack (4.1.2.rc1) lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
activerecord (4.1.2.rc1) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
actionpack (4.1.2.rc1) lib/abstract_controller/base.rb:136:in `process'
actionview (4.1.2.rc1) lib/action_view/rendering.rb:30:in `process'
actionpack (4.1.2.rc1) lib/action_controller/metal.rb:196:in `dispatch'
actionpack (4.1.2.rc1) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
actionpack (4.1.2.rc1) lib/action_controller/metal.rb:232:in `block in action'
actionpack (4.1.2.rc1) lib/action_dispatch/routing/route_set.rb:82:in `call'
actionpack (4.1.2.rc1) lib/action_dispatch/routing/route_set.rb:82:in `dispatch'
actionpack (4.1.2.rc1) lib/action_dispatch/routing/route_set.rb:50:in `call'
actionpack (4.1.2.rc1) lib/action_dispatch/journey/router.rb:71:in `block in call'
actionpack (4.1.2.rc1) lib/action_dispatch/journey/router.rb:59:in `each'
actionpack (4.1.2.rc1) lib/action_dispatch/journey/router.rb:59:in `call'
actionpack (4.1.2.rc1) lib/action_dispatch/routing/route_set.rb:678:in `call'
warden (1.2.3) lib/warden/manager.rb:35:in `block in call'
warden (1.2.3) lib/warden/manager.rb:34:in `catch'
warden (1.2.3) lib/warden/manager.rb:34:in `call'
rack (1.5.2) lib/rack/etag.rb:23:in `call'
rack (1.5.2) lib/rack/conditionalget.rb:35:in `call'
rack (1.5.2) lib/rack/head.rb:11:in `call'
actionpack (4.1.2.rc1) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
actionpack (4.1.2.rc1) lib/action_dispatch/middleware/flash.rb:254:in `call'
rack (1.5.2) lib/rack/session/abstract/id.rb:225:in `context'
rack (1.5.2) lib/rack/session/abstract/id.rb:220:in `call'
actionpack (4.1.2.rc1) lib/action_dispatch/middleware/cookies.rb:560:in `call'
activerecord (4.1.2.rc1) lib/active_record/query_cache.rb:36:in `call'
activerecord (4.1.2.rc1) lib/active_record/connection_adapters/abstract/connection_pool.rb:621:in `call'
activerecord (4.1.2.rc1) lib/active_record/migration.rb:380:in `call'
actionpack (4.1.2.rc1) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (4.1.2.rc1) lib/active_support/callbacks.rb:82:in `run_callbacks'
actionpack (4.1.2.rc1) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
actionpack (4.1.2.rc1) lib/action_dispatch/middleware/reloader.rb:73:in `call'
actionpack (4.1.2.rc1) lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
actionpack (4.1.2.rc1) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
actionpack (4.1.2.rc1) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
railties (4.1.2.rc1) lib/rails/rack/logger.rb:38:in `call_app'
railties (4.1.2.rc1) lib/rails/rack/logger.rb:20:in `block in call'
activesupport (4.1.2.rc1) lib/active_support/tagged_logging.rb:68:in `block in tagged'
activesupport (4.1.2.rc1) lib/active_support/tagged_logging.rb:26:in `tagged'
activesupport (4.1.2.rc1) lib/active_support/tagged_logging.rb:68:in `tagged'
railties (4.1.2.rc1) lib/rails/rack/logger.rb:20:in `call'
actionpack (4.1.2.rc1) lib/action_dispatch/middleware/request_id.rb:21:in `call'
rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
rack (1.5.2) lib/rack/runtime.rb:17:in `call'
activesupport (4.1.2.rc1) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
actionpack (4.1.2.rc1) lib/action_dispatch/middleware/static.rb:64:in `call'
rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
railties (4.1.2.rc1) lib/rails/engine.rb:514:in `call'
railties (4.1.2.rc1) lib/rails/application.rb:144:in call'
rack (1.5.2) lib/rack/lock.rb:17:incall'
rack (1.5.2) lib/rack/content_length.rb:14:in call'
rack (1.5.2) lib/rack/handler/webrick.rb:60:inservice'
C:/RailsInstaller/Ruby2.0.0/lib/ruby/2.0.0/webrick/httpserver.rb:138:in service'
C:/RailsInstaller/Ruby2.0.0/lib/ruby/2.0.0/webrick/httpserver.rb:94:inrun'
C:/RailsInstaller/Ruby2.0.0/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'
and this is my schema:
create_table "skills", force: true do |t|
t.datetime "created_at"
end
I am guessing I need to do "rails generate" and I will look into doing that next to add description into the schema. Thanks everyone again, I know I am close to solving this.
I ran "rails generate migration AddDescriptionToSkills description:string" and "rake db:migrate" and I got the schema.rb updated:
create_table "skills", force: true do |t|
t.datetime "created_at"
t.string "description"
end
but I am still getting the same error. Once again thanks everyone and I will keep you updated.

rails: undefined method `encoding' for #<ActionDispatch::Http::UploadedFile:xxxxxxxx>

Could someone please help me debug this error I get when trying to submit a file upload in rails?
NoMethodError in NationsController#create
undefined method `encoding' for #<ActionDispatch::Http::UploadedFile:0x2d475c8>
Environment:
Windows 7 (64bit)
ruby -v =
ruby 2.0.0p353 (2013-11-22) [i386-mingw32]
rails -v =
DL is deprecated, please use Fiddle
Rails 4.1.1
Files:
nations/new.erb:
<%= form_for :nation, url: nations_path do |f| %>
...
<p>
<%= f.label :Upload_flag %>
<%= f.file_field :flag %>
</p>
<p>
<%= f.submit :Post %>
</p>
<% end %>
nations_controller.rb:
def create
#nation = Nation.new(nation_params)
if #nation.save
redirect_to #nation
else
render 'new'
end
private
def nation_params
params.require(:nation).permit(:name, :ruler, :government, :description, :flag)
end
end
The code line that is highlighted as containing the error is:
#nation = Nation.new(nation_params)
Full trace and request:
activerecord (4.1.1) lib/active_record/connection_adapters/sqlite3_adapter.rb:47:in `binary_to_string'
activerecord (4.1.1) lib/active_record/connection_adapters/column.rb:105:in `type_cast'
activerecord (4.1.1) lib/active_record/attribute_methods/dirty.rb:102:in `_field_changed?'
activerecord (4.1.1) lib/active_record/attribute_methods/dirty.rb:78:in `save_changed_attribute'
activerecord (4.1.1) lib/active_record/attribute_methods/dirty.rb:66:in `write_attribute'
activerecord (4.1.1) lib/active_record/attribute_methods.rb:47:in `__temp__66c61676'
activerecord (4.1.1) lib/active_record/attribute_assignment.rb:45:in `public_send'
activerecord (4.1.1) lib/active_record/attribute_assignment.rb:45:in `_assign_attribute'
activerecord (4.1.1) lib/active_record/attribute_assignment.rb:32:in `block in assign_attributes'
activerecord (4.1.1) lib/active_record/attribute_assignment.rb:26:in `each'
activerecord (4.1.1) lib/active_record/attribute_assignment.rb:26:in `assign_attributes'
activerecord (4.1.1) lib/active_record/core.rb:452:in `init_attributes'
activerecord (4.1.1) lib/active_record/core.rb:198:in `initialize'
activerecord (4.1.1) lib/active_record/inheritance.rb:30:in `new'
activerecord (4.1.1) lib/active_record/inheritance.rb:30:in `new'
app/controllers/nations_controller.rb:21:in `create'
actionpack (4.1.1) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
actionpack (4.1.1) lib/abstract_controller/base.rb:189:in `process_action'
actionpack (4.1.1) lib/action_controller/metal/rendering.rb:10:in `process_action'
actionpack (4.1.1) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
activesupport (4.1.1) lib/active_support/callbacks.rb:113:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:113:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:229:in `block in halting'
activesupport (4.1.1) lib/active_support/callbacks.rb:229:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:229:in `block in halting'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.1) lib/active_support/callbacks.rb:86:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:86:in `run_callbacks'
actionpack (4.1.1) lib/abstract_controller/callbacks.rb:19:in `process_action'
actionpack (4.1.1) lib/action_controller/metal/rescue.rb:29:in `process_action'
actionpack (4.1.1) lib/action_controller/metal/instrumentation.rb:31:in `block in process_action'
activesupport (4.1.1) lib/active_support/notifications.rb:159:in `block in instrument'
activesupport (4.1.1) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (4.1.1) lib/active_support/notifications.rb:159:in `instrument'
actionpack (4.1.1) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
actionpack (4.1.1) lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
activerecord (4.1.1) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
actionpack (4.1.1) lib/abstract_controller/base.rb:136:in `process'
actionview (4.1.1) lib/action_view/rendering.rb:30:in `process'
actionpack (4.1.1) lib/action_controller/metal.rb:195:in `dispatch'
actionpack (4.1.1) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
actionpack (4.1.1) lib/action_controller/metal.rb:231:in `block in action'
actionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:80:in `call'
actionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:80:in `dispatch'
actionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:48:in `call'
actionpack (4.1.1) lib/action_dispatch/journey/router.rb:71:in `block in call'
actionpack (4.1.1) lib/action_dispatch/journey/router.rb:59:in `each'
actionpack (4.1.1) lib/action_dispatch/journey/router.rb:59:in `call'
actionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:676:in `call'
rack (1.5.2) lib/rack/etag.rb:23:in `call'
rack (1.5.2) lib/rack/conditionalget.rb:35:in `call'
rack (1.5.2) lib/rack/head.rb:11:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/flash.rb:254:in `call'
rack (1.5.2) lib/rack/session/abstract/id.rb:225:in `context'
rack (1.5.2) lib/rack/session/abstract/id.rb:220:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/cookies.rb:560:in `call'
activerecord (4.1.1) lib/active_record/query_cache.rb:36:in `call'
activerecord (4.1.1) lib/active_record/connection_adapters/abstract/connection_pool.rb:621:in `call'
activerecord (4.1.1) lib/active_record/migration.rb:380:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (4.1.1) lib/active_support/callbacks.rb:82:in `run_callbacks'
actionpack (4.1.1) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/reloader.rb:73:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
railties (4.1.1) lib/rails/rack/logger.rb:38:in `call_app'
railties (4.1.1) lib/rails/rack/logger.rb:20:in `block in call'
activesupport (4.1.1) lib/active_support/tagged_logging.rb:68:in `block in tagged'
activesupport (4.1.1) lib/active_support/tagged_logging.rb:26:in `tagged'
activesupport (4.1.1) lib/active_support/tagged_logging.rb:68:in `tagged'
railties (4.1.1) lib/rails/rack/logger.rb:20:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/request_id.rb:21:in `call'
rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
rack (1.5.2) lib/rack/runtime.rb:17:in `call'
activesupport (4.1.1) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
actionpack (4.1.1) lib/action_dispatch/middleware/static.rb:64:in `call'
rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
railties (4.1.1) lib/rails/engine.rb:514:in `call'
railties (4.1.1) lib/rails/application.rb:144:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
rack (1.5.2) lib/rack/content_length.rb:14:in `call'
rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
C:/Ruby200/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service'
C:/Ruby200/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run'
C:/Ruby200/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'
Request
Parameters:
{"utf8"=>"✓",
"authenticity_token"=>"78m9sOtlwoTKfAUdysKZoLiDHU4ikX/cVs8epIbEuag=",
"nation"=>{"name"=>"sdfsf",
"ruler"=>"sdfsdf",
"government"=>"green",
"description"=>"sdfsdfsdf",
"flag"=>#<ActionDispatch::Http::UploadedFile:0x2dcc5a0 #tempfile=#<Tempfile:C:/Users/JFR/AppData/Local/Temp/RackMultipart20140624-5808-bnuxjh>,
#original_filename="cane2008.png",
#content_type="image/png",
#headers="Content-Disposition: form-data; name=\"nation[flag]\"; filename=\"cane2008.png\"\r\nContent-Type: image/png\r\n">},
"commit"=>"Post"}
Toggle session dump
_csrf_token: "78m9sOtlwoTKfAUdysKZoLiDHU4ikX/cVs8epIbEuag="
session_id: "e874179e9713d0a2009b5908423f7290"
Toggle env dump
GATEWAY_INTERFACE: "CGI/1.1"
HTTP_ACCEPT: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
HTTP_ACCEPT_ENCODING: "gzip, deflate"
HTTP_ACCEPT_LANGUAGE: "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3"
HTTP_CACHE_CONTROL: "max-age=0"
REMOTE_ADDR: "127.0.0.1"
REMOTE_HOST: "127.0.0.1"
SERVER_NAME: "localhost"
SERVER_PROTOCOL: "HTTP/1.1"
Response
Headers:
None
As explained at http://guides.rubyonrails.org/form_helpers.html#uploading-files there is no need to set form's encoding to "multipart/form-data" when using form_for (as opposed to using form_tag).
What can it be then? I fear that I'm experiencing some incompatibilities issues between ruby and rails version? Any quick fix? Thanks.
You cannot assign a file object to a binary column and save it. If you really want to just save the file's contents to the database, call read on it before assigning it to your model. You probably want to do something more suited for file uploads, though. Take a look at CarrierWave and Paperclip

Resources