【问题标题】:How so I show json in a partial我如何部分显示 json
【发布时间】:2015-06-14 15:53:39
【问题描述】:

我有一个来自 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 的页面中显示部分

并显示

【问题讨论】:

  • jbuilder 内置在 rails 中:github.com/rails/jbuilder
  • 如何更改控制器指令以确保 json 显示在部分中?
  • 对不起,忽略上面的评论。见下文。

标签: javascript jquery ruby-on-rails json


【解决方案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'。在这个文件中:

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

我要做的是创建一个部分:_user_details 并在这里布置@user 我希望它如何出现,然后用它填充`.profile_content`......所以:

_user_details.html.slim

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

然后调用那个部分:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2015-11-03
    相关资源
    最近更新 更多