Ruby on rails 如何包含一个映像作为datagrid gem的链接?
我试图在Rails 4中实现Ruby on rails 如何包含一个映像作为datagrid gem的链接?,ruby-on-rails,ruby,ruby-on-rails-4,datagrid,Ruby On Rails,Ruby,Ruby On Rails 4,Datagrid,我试图在Rails 4中实现datagrid gem,但不确定如何在Grid类中包含链接 我目前为UsersGrid类提供了: class UsersGrid include Datagrid scope do User.order("users.created_at desc") end column(:avatar) do |user| if user.avatar? link_to ActionController::Base.helpers
datagrid gem
,但不确定如何在Grid类中包含链接
我目前为UsersGrid类提供了:
class UsersGrid
include Datagrid
scope do
User.order("users.created_at desc")
end
column(:avatar) do |user|
if user.avatar?
link_to ActionController::Base.helpers.image_tag(user.avatar.url, alt: "Profile"), user_path(user)
else
link_to ActionController::Base.helpers.image_tag("profile.gif", alt: "Profile"), user_path(user)
end
end
end
这将生成以下错误消息,涉及链接到行:
undefined method 'user_path' for #<ActionView::Base:0x007f821d3115b8>
听起来您没有在routes.rb
中为用户资源配置路由
要验证并查看可用的路径帮助程序,请转到命令行,导航到项目目录,然后键入rake routes
。如果配置正确,您应该看到如下内容:
user GET /users/:id/(.:format) users#show
在上面示例的最左边是用于生成路径辅助对象的“名称”。因此,在上面的示例中,名称是“user”,Rails将自动生成helperuser\u path
,它接受一个作为用户id的参数。因此user\u path(1)
是/users/1
的助手。如果您传入一个用户对象(就像您在示例中那样),它将只从后台的用户那里获取id,例如,User\u path(current\u User)
将找到当前用户的id并返回/users/1
阅读更多关于rake路由的信息
无论如何,如果您的routes.rb
文件中缺少user
,您可以将类似的内容添加到routes.rb
:
get '/users/:id', :to => 'users#show', :as => :user
请记住,您可能已经为用户资源配置了一些内容,因此您可能能够根据您配置文件的方式进行更轻松/更清晰的更改。听起来您在routes.rb
中没有为用户资源配置路由
要验证并查看可用的路径帮助程序,请转到命令行,导航到项目目录,然后键入rake routes
。如果配置正确,您应该看到如下内容:
user GET /users/:id/(.:format) users#show
在上面示例的最左边是用于生成路径辅助对象的“名称”。因此,在上面的示例中,名称是“user”,Rails将自动生成helperuser\u path
,它接受一个作为用户id的参数。因此user\u path(1)
是/users/1
的助手。如果您传入一个用户对象(就像您在示例中那样),它将只从后台的用户那里获取id,例如,User\u path(current\u User)
将找到当前用户的id并返回/users/1
阅读更多关于rake路由的信息
无论如何,如果您的routes.rb
文件中缺少user
,您可以将类似的内容添加到routes.rb
:
get '/users/:id', :to => 'users#show', :as => :user
请记住,您可能已经为用户资源配置了一些内容,因此您可能能够根据您配置文件的方式进行更轻松/更清晰的更改。听起来您在routes.rb
中没有为用户资源配置路由
要验证并查看可用的路径帮助程序,请转到命令行,导航到项目目录,然后键入rake routes
。如果配置正确,您应该看到如下内容:
user GET /users/:id/(.:format) users#show
在上面示例的最左边是用于生成路径辅助对象的“名称”。因此,在上面的示例中,名称是“user”,Rails将自动生成helperuser\u path
,它接受一个作为用户id的参数。因此user\u path(1)
是/users/1
的助手。如果您传入一个用户对象(就像您在示例中那样),它将只从后台的用户那里获取id,例如,User\u path(current\u User)
将找到当前用户的id并返回/users/1
阅读更多关于rake路由的信息
无论如何,如果您的routes.rb
文件中缺少user
,您可以将类似的内容添加到routes.rb
:
get '/users/:id', :to => 'users#show', :as => :user
请记住,您可能已经为用户资源配置了一些内容,因此您可能能够根据您配置文件的方式进行更轻松/更清晰的更改。听起来您在routes.rb
中没有为用户资源配置路由
要验证并查看可用的路径帮助程序,请转到命令行,导航到项目目录,然后键入rake routes
。如果配置正确,您应该看到如下内容:
user GET /users/:id/(.:format) users#show
在上面示例的最左边是用于生成路径辅助对象的“名称”。因此,在上面的示例中,名称是“user”,Rails将自动生成helperuser\u path
,它接受一个作为用户id的参数。因此user\u path(1)
是/users/1
的助手。如果您传入一个用户对象(就像您在示例中那样),它将只从后台的用户那里获取id,例如,User\u path(current\u User)
将找到当前用户的id并返回/users/1
阅读更多关于rake路由的信息
无论如何,如果您的routes.rb
文件中缺少user
,您可以将类似的内容添加到routes.rb
:
get '/users/:id', :to => 'users#show', :as => :user
请记住,您可能已经为用户资源准备了一些内容,因此您可能能够根据配置文件的方式进行更轻松/更清晰的更改。我找到了解决方案:我必须将:html=>true
添加到列(:avatar,:html=>true)
。通过这种方式,html代码(如link\u to
可以工作,我也不再需要ActionController::Base.helpers
来访问image\u tage
方法。我找到了解决方案:我必须将:html=>true
添加到列(:avatar,:html=>true)
。通过这种方式,html代码(如link\u to
可以工作,我也不再需要ActionController::Base.helpers
来访问image\u tage
方法。我找到了解决方案:我必须将:html=>true
添加到列(:avatar,:html=>true)
。这样,html代码,如链接到