Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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 4 当在rails的局部视图中调用实例变量时,如何从控制器方法获取该实例变量的值_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 4 当在rails的局部视图中调用实例变量时,如何从控制器方法获取该实例变量的值

Ruby on rails 4 当在rails的局部视图中调用实例变量时,如何从控制器方法获取该实例变量的值,ruby-on-rails-4,Ruby On Rails 4,我对rails非常陌生,我正在尝试使用控制器方法在部分视图中使用GraphAPI获取图像url。如何将存储在实例变量中的图像url从controller方法返回到调用它的位置 例如: 我有一个部分“\u fb\u comments.erb” 我正试图从“\u fb\u comments.erb”部分调用我的“SocialMediaController”中的控制器方法“fb\u comments”,如下-> <img src=<%= social_media_fb_comments_p

我对rails非常陌生,我正在尝试使用控制器方法在部分视图中使用GraphAPI获取图像url。如何将存储在实例变量中的图像url从controller方法返回到调用它的位置

例如: 我有一个部分“\u fb\u comments.erb” 我正试图从“\u fb\u comments.erb”部分调用我的“SocialMediaController”中的控制器方法“fb\u comments”,如下->

<img src=<%= social_media_fb_comments_path(:comm_usr_id => "#{comm['from'['id']}" %> />
def fb_comments
user=User.find_by_id(session[:uid])
@comm_user=params[:comm_usr_id]
@get_url=Koala::Facebook::API.new(user.token)
@image_url=@get_url.get_picture(@comm_user)
render :text => @image_url

没有与此控制器方法关联的视图。告诉我是否缺少某些内容,以及如何在局部视图中将@image\u url值添加到我的
标记中。请帮助我编写代码,因为我是rails的新手。

您不需要控制器操作,您需要一个视图助手。您可以将该方法放入
application\u controller
中,并在
application\u controller`顶部添加行
helper\u method:fb\u comments'

class ApplicationController << ActionController::Base
  helper_method :fb_comments

  def fb_comments(options)
    user=User.find_by_id(session[:uid])
    comm_user=options[:comm_usr_id]
    get_url=Koala::Facebook::API.new(user.token)
    get_url.get_picture(comm_user)
  end
类应用程序控制器
<img src=<%= fb_comments(comm_usr_id: "#{comm['from'['id']}" %> />