Я делаю твиттер-копию, и сейчас я пытаюсь показать все сообщения от пользователей, за которыми следует другой пользователь. Я новичок на рубин и рельсов, так что я мог бы делать это действительно странно способ ..Почему я получаю это NoMethodError
Эти файлы у меня есть:
сессия # home.html.erb
<h2 class='User_Header'> Home <h2>
<%= link_to "New Post", controller: "posts", action: "new" %>
<%= link_to "Log Out", :controller => "sessions", :action => "logout" %>
<%= show_tweets("following") %>
sessions_helper
module SessionsHelper
def show_tweets(opt)
if opt == "following"
@sub = Subscription.where("userID = ?", @current_user.id)
@post = Post.where("user_id = ?", @sub.followingID)
render partial: 'shared/follower_tweets'
end
end
def show_tweet(s)
@post = Post.where("user_id = ?", s.id)
render partial: 'shared/tweet'
end
def tweet_username(p)
@username = User.where("id = ?", p.user_id)
Rails.logger.debug @username.inspect
render partial: 'shared/user'
end
end
_follower_tweets.html.erb
<h2>Tweets</h2>
<table>
<tr>
<th>Username</th>
<th>Tweet</th>
</tr>
<% div_for(@post, class: 'post') do %>
<td><%= tweet_username(@post) %></td>
<td><%= @post.content %></td>
<% end %>
</table>
_user.html.erb
<%= @username %>
session.rb
class Session < ActiveRecord::Base
attr_accessible :content, :user_id, :followingID, :userID
end
Ошибка
приложение/просмотры/сессии/home.html.erb где строка # 9 поднятые:
undefined method `followingID' for #<ActiveRecord::Relation:0x007fd74b66f8a8>
Ваш 'модель Subscription' не имеет метод, называемый' followingID'. –
Я пытаюсь получить значение nextID подписки. У меня есть таблица в db, где я сохраняю все подписки, followID - это столбец в этой таблице. – Alexander
Вы добавили 'attr_accessible: followID' в свою модель' Subscription'? –