2015-12-27 4 views
-1

Я хотел создать твиттер, как последователей и следующее. на мой взгляд, у меня естьActiveRecord :: RecordNotFound in RelationshipsController # create

<% if current_user.following?(@otheruser) %> 
    <%= render 'unfollow' %> 
<% else %> 
    <%= render 'follow' %> 
<% end %> 

в _follow.html.erb

<%= form_for (@otheruser), url: createfollower_path(@otheruser) ,:class=>"form-horizontal",method: :post do |f| %> 
     <%= f.hidden_field :user_id, :value => @otheruser.id %> 
     <%= f.submit "Follow", class: "btn btn-primary" %> 
<% end %> 

в контроллере создать действие

def create 
    user = User.find(params[:user_id]) 
    current_user.follow(user) 
    redirect_to followuser_url 
end 

в user.rb

has_many :followers, class_name: "Relationship" #-> users following you 
has_many :following, class_name: "Relationship", foreign_key: :follower_id, foreign_key: :user_id 

    def follow(other_user) 
    relationships.create(user_id: other_user.id) 
    end 

я п relationship.rb

class Relationship < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :follower, class_name: "User" 
    validates :user, :follower, presence: true 
    validates :user_id, uniqueness: { scope: :follower_id } 
end 

теперь, когда я пытаюсь представить кнопку последующих он показывает ошибку в «Не удалось найти пользователя с идентификатором„“=» и параметры

{"utf8"=>"✓","authenticity_token"=>"681q5ft03+WRdqgHagh/gI1mV3uohwaEj1sF8zdTycUAN5yTiVMT/wGCV4tLPRVRRFRA+6mYSS1bXk2ormA/zw==", 
"user"=>{"user_id"=>"7"}, 
"commit"=>"Follow", 
"format"=>"7"} 
+0

Обновите свой вопрос кодом контроллера. – Pavan

+0

я написал в вопросе создания действия контроллера отношений – pradeep

+0

Защиту создать пользователя = User.find (PARAMS [: user_id]) current_user.follow (пользователь) redirect_to followuser_url конца – pradeep

ответ

1

Вам нужно перепишите ваш контроллер create action.

def create 
    user = User.find(params[:user][:user_id]) 
    current_user.follow(user) 
    redirect_to followuser_url 
end 

Должно работать !!!

+0

@pradeep Рад, что это помогает. Я был бы более счастлив, если вы примете мой ответ :). Теперь ответ на ваш дальнейший вопрос => Это заложенный хэш. Я хотел бы сказать, любезно посетить этот _http: //www.codequizzes.com/intermediate-ruby/hash-class_ ответит на все ваши вопросы. – VKatz

+0

теперь я должен отправить form_for с user_id, но в базе данных не создается запись в таблице. – pradeep

+0

В этом случае я ответил на ваш вопрос точно, какая работа для вас также, в дальнейшем я хотел бы сказать, попытаться найти самостоятельно:). – VKatz

Смежные вопросы