Rails保持并显示模型方法错误

时间:2015-02-09 22:54:57

标签: ruby-on-rails ruby json parsing

我在电影的rails中有一个模型,在这个模型中,我有一个解析JSON的方法,并将每个电影添加到数据库中。

到目前为止,我的控制器有一个列出电影的索引,它有一个创建动作,触发解析JSON的模型方法。

def create
 @movie = Movie.parse_json
 if @movie
  redirect to root_path
 else
 render new_movie_path
end

parse json方法只解析每个json元素并将其添加为新电影。

我的主要困境是我认为我做的事情有点不对,所以它变得困难了。如果出于某种原因电影无法保存,我想拥有它 - 它会增加一个错误并移动到下一个。在完全解析JSON之后,我可以看到哪些电影遇到错误。我尝试过做错误.add(:base,"电影#{movie.title}无法保存" ..然后在我的电影/ new.html.erb中有一个错误的循环,但@movie在那里是未定义的。

到目前为止,为了触发我的创建操作,我在new.html.erb上有一个按钮,它发送一个post请求来触发create动作,从而解析JSON。

<%= link_to "Get New Movies", movies_path, method: :post %>

哪些部分我做错了让这很困难。我想要它,所以从我的新电影页面我可以点击一个按钮,这会触发电影解析 - 在解析结束时如果有错误我可以显示它们 - 否则只需重定向到索引页面。如果我的控制器只创建了一个对象,但是解析json并创建多个记录的整个模型方法就是让我失望的事情,我可以这样做。

0 个答案:

没有答案