Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 避免mvc中的问题_Ruby On Rails_Ruby_Ruby On Rails 3_Model View Controller - Fatal编程技术网

Ruby on rails 避免mvc中的问题

Ruby on rails 避免mvc中的问题,ruby-on-rails,ruby,ruby-on-rails-3,model-view-controller,Ruby On Rails,Ruby,Ruby On Rails 3,Model View Controller,我知道视图不应该有任何关于模型或控制器的知识,但我不确定如何避免它 问题是,在需要在视图中操作控制器或模型之前,我正在尝试从控制器或模型获取信息 这是密码 Model USER LOCATION ARTICLE id user_id title first article_id ... last ... 关系 user has many locations article has many locations loca

我知道视图不应该有任何关于模型或控制器的知识,但我不确定如何避免它

问题是,在需要在视图中操作控制器或模型之前,我正在尝试从控制器或模型获取信息

这是密码

Model     
USER       LOCATION      ARTICLE
id         user_id       title
first      article_id    ...
last
...
关系

user has many locations
article has many locations
location belongs to user
location belongs to article
控制器

@userlocation = @user.locations
看法


...

显然,不确定如何在控制器中执行查询不是最好的方法,并且evTitle没有正确报告原因?

在控制器中,您可以这样做:

@userlocations = @user.locations
@locations_articles = Article.find_all_by_id(@userlocations.map(&:article_id).uniq)
然后您可以在视图中使用
@locations\u articles
。避免在视图中使用
db查询

<% @locations_articles.each do |article| %>
    <%= article.title %>
<% end %>

您可以首先在此处观看rails的多格式播放:-

还有一个属性,您应该首先在模型中定义,以访问单视图表单中的信息

def新 @survey=survey.new 3.5倍 问题=@survey.questions.build 4.times{question.answers.build} 结束
结束

唯一的问题是,这篇文章只参考了第一篇文章,我看不到第二篇和第三篇
<% @locations_articles.each do |article| %>
    <%= article.title %>
<% end %>