我是如何以局部方式展示json的

时间:2015-06-14 15:53:39

标签: javascript jquery ruby-on-rails json

我有一个来自rails应用程序的javascript图表。当我点击图表中的圆圈时,它会告诉我它代表的用户名称是什么。然后,我希望应用程序从数据库表中查找与该用户名相关的更多信息。 我已经走得很远但似乎无法看到部分结果。

正确触发控制器以响应javascript onclick

查询数据库
def show
    @user = User.find_by name: params[:name]
    puts @user
    render json: @user
end

如何将json放入部分_profile.html.erb

<div>Hi I'm a partial</div>
<div class='profile-content'></div>

然后在名为graph / data.html.erb的页面中显示部分

并显示

1 个答案:

答案 0 :(得分:1)

您可以使用show.js.html。所以:

def show
  @user = User.find_by name: params[:name]
  puts @user
  render json: @user
end

变为:

def show
 @user = User.find_by name: params[:name]
end

由于您的请求是JS请求,因此它会自动询问`show.js.html&#39;。在这个文件中:

$('.profile-content').inner_html("<%= @user.to_json %>");

我要做的是创建一个部分:_user_details并在此处列出@user我希望它出现的方式,然后用...填充`.profile_content``的.so:

_user_details.html.slim

.user-details
 = @user.name
 = @user.phone_number

然后称之为部分:

$('.profile-content').inner_html("<%= escape_javascript(render(:partial => 'user_details')) %>");