对不起,如果我把事情搞砸了,但我是新来的,所以请多多包涵。
这就是我想做的事情。我想根据数据库中的用户 ID 为链接动态分配 ID 标签。然后根据我单击的链接,我希望该链接调用控制器助手并将其 ID 传递给助手方法。
到目前为止,我能够为每个用户动态分配每个链接,但我的问题是当我单击链接并使用 ID 调用控制器方法callThis时,它会获取最后一个用户(数据库中的最后一个用户)的 ID而不是我单击的链接的用户 ID。
我的问题是,我如何让它发送我点击的链接的 ID,而不是数据库中最后一个用户的 ID?
这是我的代码。
index.html.erb
<div id="profile"></div>
<table>
<% @users.each do |u| %>
<% if !u.nil? and u.department_id == department.id %>
<tr class="<%= department.id %>" style="display:none;text-align:left;">
<td>
<a href="#id-<%= u.id %>" id="id-<%= u.id %>" onclick="<%= callThis(u.id) %>; refresh();">
<%= "#{u.first_name} #{u.last_name}" %>
</a>
</td>
</tr>
<% end %>
<% end %>
</table>
<script>
function refresh(){
$('#profile').html("<%= escape_javascript(render(:partial => 'profile')) %>");
}
</script>
教授控制器.rb
class ProfessorsController < ApplicationController
helper_method :callThis
helper_attr :get_id
attr_accessor :get_id
def index
@departments = Department.all
@users = User.with_role :Professor
@search = @users.search(params[:q])
@result = @search.result
@id = 0
end
def callThis(id)
@id = id
end
def get_id
@id
end
end
profile.html.erb
<%= get_id.to_s %>