当我使用调试器进行此操作时,它不会触及控制器。
我收到以下错误:
调用id为nil,错误地为4 - 如果你真的想要id为nil,请使用object_id
即。 @user
是零。即使我将@user
设置为通过@user = @Users.first
match ':id' => 'user#show'
也为零
我想通过domain.com/id
访问该用户的routes.rb
class User < ActiveRecord::Base
attr_accessible :userLink, :userName
end
模型
def Show
@user= User.find_by_id params[:id]
# Attempted this with User.first to see if param was broken
respond_to do |format|
format.html
format.json { render json: @user}
end
end
Controller controllers / user_controller.rb
<script type="text/javascript">
<%= @user.id %>
</script>
查看文件名视图/ user / show.erb
{{1}}
答案 0 :(得分:1)
您无需像这样指定路线
只需替换此
match ':id' => 'user#show'
与
resources :users, only: [:show]
这将为show method
生成默认路线答案 1 :(得分:1)
你有一个错字。
控制器中的 def Show
应为def show
答案 2 :(得分:1)
使用
match '/:id' => 'user#show'
但这不是一个好方法,因为许多路线将被禁用 比如你有 www.yourdomain.com/profile 也会参加你的表演活动。
同时def显示显示应该显示