更改Rails后无法保存参数

时间:2015-06-09 16:23:36

标签: ruby-on-rails ruby regex

我有下一个正则表达式:

regex = /(?:.be\/|\/watch\?v=|\/(?=p\/))([\w\/\-]+)/ 

例如,我有下一个YouTube网址:https://youtu.be/7FcfSxrRU。在这个正则表达式之后我做了:

givenUrl = params[:url].match(regex)[0] 
newUrl = givenUrl.split('.be/')[1] 

这段代码给了我结果。 newUrl是我需要的,但当我尝试将其保存为

params[:url] = newUrl 

我收到错误,

undefined method []' for nil:NilClass` 

表示givenUrl。

我确实尝试将其保存在这里:

permitted = params.permit(:url, :title, :description, :post_type, :category_id)

有什么问题?为什么我会收到此错误?

更新 我的def我允许参数并添加到数据库表

def check_params
  regex = /(?:.be\/|\/watch\?v=|\/(?=p\/))([\w\/\-]+)/

  givenUrl = params[:url].match(regex)[0]
  newUrl = givenUrl.split('.be/')[1]

  params[:url] = newUrl
  permitted = params.permit(:url, :title, :description, :post_type, :category_id)
end

错误出现在下一行:

givenUrl = params[:url].match(regex)[0]

0 个答案:

没有答案