RoR:如何为部分定义方法?
RoR: How to define a method for a partial?
我正在尝试在页面上呈现部分...就像这样
../devise/sessions/new.html.erb
<%= render partial: '/tweets/latest_tweets' %>
一切顺利
在部分中,我想像这样“每个做”...
../tweets/_latest_tweets.html.erb
<% @tweets.each do |tweet| %>
<%= tweet.content %>
<% end %>
我得到了 nil:NilClass
的未定义方法“each”
如何在我的推文控制器中为我的部分定义此方法?
我有这样的索引
tweets_controller.rb
def index
@tweets = Tweet.all
end
这对索引没问题,但我不知道如何对我的部分做同样的事情(我试过像索引一样定义我的部分,但这似乎不起作用)
谁有我可以尝试的解决方案?
有
渲染局部时需要传入collection。它会给出这样的东西:
devise/sessions/new.html.erb
<%= render partial: 'tweets/latest_tweets', collection: @tweets, as: :tweet %>
tweets/_latest_tweets.html.erb
<%= tweet.content %>
就这样,它会自动遍历你的collection。
更多信息,请阅读Rails - Layout and Rendering
我正在尝试在页面上呈现部分...就像这样
../devise/sessions/new.html.erb
<%= render partial: '/tweets/latest_tweets' %>
一切顺利
在部分中,我想像这样“每个做”...
../tweets/_latest_tweets.html.erb
<% @tweets.each do |tweet| %>
<%= tweet.content %>
<% end %>
我得到了 nil:NilClass
的未定义方法“each”如何在我的推文控制器中为我的部分定义此方法?
我有这样的索引
tweets_controller.rb
def index
@tweets = Tweet.all
end
这对索引没问题,但我不知道如何对我的部分做同样的事情(我试过像索引一样定义我的部分,但这似乎不起作用)
谁有我可以尝试的解决方案?
有
渲染局部时需要传入collection。它会给出这样的东西:
devise/sessions/new.html.erb
<%= render partial: 'tweets/latest_tweets', collection: @tweets, as: :tweet %>
tweets/_latest_tweets.html.erb
<%= tweet.content %>
就这样,它会自动遍历你的collection。
更多信息,请阅读Rails - Layout and Rendering