can't convert Symbol into String

364 views
Skip to first unread message

Josh Swasey

unread,
Jul 6, 2013, 5:34:53 PM7/6/13
to rubyonra...@googlegroups.com
Hello,

I'm following the tutorial at http://guides.rubyonrails.org/getting_started.html. I got to the point where adding new posts should be functional (the end of 5.7). When I try to submit a post, I receive the error stating "Can't convert Symbol into String". The trace shows:

app/controllers/posts_controller.rb:16:in `post_params'
app/controllers/posts_controller.rb:6:in `create'
This error occurred while loading the following files:
   post

The code in my posts_controller.rb file is:
class PostsController < ApplicationController
def new
end
def create
@post = Post.new(params[:post].permit(:title, :text))
 
@post.save
redirect_to @post
end
def show
@post = Post.find(params[:id])
end
private
def post_params
params.require(:post).permit(:title, :text)
end
end

___
Can anyone give me any pointers on why this might be happening? Or is there any other portion of the application what would be helpful to see for troubleshooting?

Thanks.

Frederick Cheung

unread,
Jul 7, 2013, 1:14:35 PM7/7/13
to rubyonra...@googlegroups.com


On Saturday, July 6, 2013 10:34:53 PM UTC+1, Josh Swasey wrote:
Hello,

I'm following the tutorial at http://guides.rubyonrails.org/getting_started.html. I got to the point where adding new posts should be functional (the end of 5.7). When I try to submit a post, I receive the error stating "Can't convert Symbol into String". The trace shows:


This looks like your code is expecting strong_parameters to be setup (available as a gem in rails 3.2, turned on by default in 4.0) but your app isn't using strong parameters. Which version of rails are you using ?

Fred

Bayu Aldi Yansyah

unread,
Jul 12, 2013, 2:46:51 PM7/12/13
to rubyonra...@googlegroups.com
change @post = Post.new(params[:post].permit(:title, :text)) to @post = Post.new(post_params).
you only need use Post.new([methods]) 
[methods] => define on private methods
thats is your strong parameter works..
Reply all
Reply to author
Forward
0 new messages