我是rails的新手并收到以下错误:
NameError in FriendshipsController#create
uninitialized constant FriendshipsController
这也出现了:
{"authenticity_token"=>"eQvv3flATE+P1TEErOWP/6fM8dEOIBxltobCxtM/F18=",
"friend_id"=>"32"}
点击我的用户显示页面上的“添加好友”链接。我正在跟踪有关T的自引用关联的railscast,但我一直收到此错误,我找不到任何有关它的信息,甚至没有“未初始化的常量”的含义。我从互联网上收集到它可能与acts_as_authenticated插件有关,但是我按照我找到的一个修复程序进行了操作,但它没有用。
以下是我的user / show.html.erb页面中的代码:
<%= link_to "Add Friend", friendships_path(:friend_id => @user.id), :method => :post %>
和友谊控制员的代码:
def create
@friendship = current_user.friendships.build(:friend_id => params[:friend_id])
if @friendship.save
flash[:notice] = "Added friend."
redirect_to root_url
else
flash[:error] = "Unable to add friend."
redirect_to root_url
end
end
我在哪里错了。我不知道造成这种情况的最微弱的线索。如果我遗漏任何所需的密码,请告诉我。
答案 0 :(得分:1)
很难说。你应该发布你的类的顶部...需要,类定义,包括,以及你的方法以外的任何其他东西,以及创建方法。
答案 1 :(得分:0)
Rails抱怨是因为你在初始化它之前使用了一个常量。
puts SomeConstant
# before
SomeConstant = 10
在这种情况下,常量是控制器类名 - FriendshipsController
检查类名是否正确,即您的app \ controller目录中有一个具有该名称的控制器。
答案 2 :(得分:0)
我想你跑了
rails g controller Friendship
虽然你应该使用
rails g controller Friendships
这就是为什么所有文件现在都是单数的 您仍然可以浏览并更改所有文件