2016-04-29 77 views
0

我想用ajax调用一个可以正常工作的控制器函数,问题是对象生成。Rails用param创建对象 - 不需要

我试着这样说:

@tag = Tag.new params[:tagname] 
@tag.save 

但让我得到了错误500回到

如果我这样做

@tag = Tag.new params.permit[:tagname] 
@tag.save 

这“作品”,但在数据库中的列标记名空...

最新问题?

我能做些什么来解决这个问题?

回答

2

如果我明白你在这里做的是正确的,你的问题是你传递一个字符串到Tag#new。但是,除非你已经修改了Tag类,你真正需要做的是这样:

Tag.new name => params[:tagname]

也就是说,“新”并不需要一个字符串(同样,除非你已经修改了它)它需要一个哈希。

+0

感谢哈希提示这样做;) – Felix

0

正确的解决办法是

@tag = Tag.new 
@tag.tagname = params[:tagname] 

Thaks与哈希问题的提示;)

1

你可以在一条语句中使用create

Tag.create(tagname: params[:tagname])

相关问题