Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何包含一个映像作为datagrid gem的链接?_Ruby On Rails_Ruby_Ruby On Rails 4_Datagrid - Fatal编程技术网

Ruby on rails 如何包含一个映像作为datagrid gem的链接?

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

我试图在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.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将自动生成helper
user\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将自动生成helper
user\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将自动生成helper
user\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将自动生成helper
user\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代码,如
链接到