未定义的方法`find_or_initialize_by_url'。 Rails 4中的语法是否正确?

时间:2015-06-14 16:38:01

标签: ruby-on-rails ruby

想知道你是否可以帮助我。 我得到了"未定义的方法`find_or_initialize_by_url'"在sites / new。

控制器位于

之下
def create
  @site = Site.find_or_initialize_by_url(params[:site][:url])

  if @site.save
    redirect_to site_path(@site)
  else
    redirect_to :back, :flash => {:error => @site.errors[:url]}
  end

的正确语法是什么 在rails 4中

@site = Site.find_or_initialize_by_url(params [:site] [:url])

所有代码均来自此处https://github.com/blatyo/is_it_popular

1 个答案:

答案 0 :(得分:1)

在Rails 4中,它应该是

@site = Site.find_or_initialize_by(url: params[:site][:url])

来源: Guides