我对Rails比较新,所以我不确定我是否正确地路由/构建了我的控制器和视图。在用户模型中使用jQuery呈现部分模型
简而言之,我只是试图使用user/show.html.erb页面中的标签来使用jQuery在其下面的内容区域中呈现部分内容。
然而,当我刷新页面,我的代码,我得到以下错误:
undefined local variable or method `userprofile_path' for #<#<Class:0x007f8c181e9ff0>:0x007f8c171662a0>
我的应用程序>的意见>用户> show.html.erb:
<div id="profile-box">
<ul class="profile-tabs">
<%= link_to "<li class=\"tab selected\">Current</li>".html_safe, userprofile_path, remote: true %>
<%= link_to "<li class=\"tab\">Offers</li>".html_safe, userprofile_path, remote: true %>
<%= link_to "<li class=\"tab\">Sales</li>".html_safe, userprofile_path, remote: true %>
</ul>
<div id="profile-content">
</div>
</div>
我的应用程序>控制器> users_controller.rb:
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
def userprofile
respond_to do |format|
format.js
end
end
end
我的应用>资产>的JavaScript> userprofile.js:
$(function() {
$("li.tab").click(function(e) {
e.preventDefault();
$("li.tab").removeClass("selected");
$(this).addClass("selected");
$("#profile-content").html("<%= escape_javascript(render partial:
"users/offers")%>");
});
});
我也使用设计的,所以这里是我的routes.rb文件:
devise_for :admin_users, ActiveAdmin::Devise.config
devise_for :users, :path => '', :path_names => {:sign_in => 'login', :sign_out => 'logout'}
resources :users
由于我是新来的Rails,我不知道如果有损坏或丢失,代码问题,文件没有正确命名,如果我需要一个新的文件来使它工作,或者它到底是什么。
如果任何人都可以根据我需要的代码和应用程序的结构指向正确的方向,我将不胜感激。
什么你的路线是什么样子?你使用'资源:用户'吗? – 2013-03-27 15:51:33
我刚刚更新了问题以包含我的路线文件。我也在使用Devise,导致这个问题呢? – Zephyr4434 2013-03-27 15:57:33