Link_to 在 Ruby 上 Rails
Link_to in Ruby on Rails
我需要 return 在 table 中搜索结果,当用户点击所需的结果时,他会转到另一个页面。问题是当我将 link_to 方法添加到 table 时,它显示为空:
这是 html.erb 代码:
<div id ="info">
<% if @guardians_result.nil? or @guardians_result.empty? %>
<div id="no_result" class="themed_text"><%= t('no_users') %></div>
<%else%>
<table align="center" width="100%" cellpadding="1" cellspacing="1" id="listing">
<tr class="tr-head">
<td>
<%= t('sl_no') %>
</td>
<td>
<%= t('name') %>
</td>
</tr>
<% @guardians_result.each_with_index do |guardian,i| %>
<tr class="tr-<%= cycle('odd', 'even')%>">
<td class="col-1"><%= i+1 %></td>
<td class="col-4"><%= link_to guardian.full_name, :controller => 'parent_wise_fee_payments', :action => 'pay_all_fees', :id => guardian.id%></td>
</tr>
<% end %>
</table>
<%end%>
</div>
这是我的控制器:
class ParentWiseFeePaymentsController < ApplicationController
before_filter :login_required
filter_access_to :all
before_filter :set_precision
include LinkPrivilege
helper_method('link_to','link_to_remote','link_present')
def index
end
def pay_all_fees
if params[:id].present?
id = params[:id]
@guardian=Guardian.find(id)
@ward=@guardian.current_ward()
@siblings=@ward.all_siblings()
end
end
def search_logic #parent search (fees submission)
query = params[:query]
@target_action=params[:target_action]
@target_controller=params[:target_controller]
if (query.length!=0)
@guardians_result = Guardian.first_name_or_last_name_begins_with query
end
render :layout => false
end
当我删除 link 时:
<td class="col-4"><%= guardian.full_name %></td>
显示结果。没看懂,求大神指点。
LinkPrivilege 模块有什么作用?通常 link_to 相关的助手已经可以查看。所以,不需要用 helper_method 添加它们。但是,如果您在某处重新定义这些方法(例如 LinkPrivilege 模块),它们将无法正常工作。
我需要 return 在 table 中搜索结果,当用户点击所需的结果时,他会转到另一个页面。问题是当我将 link_to 方法添加到 table 时,它显示为空:
这是 html.erb 代码:
<div id ="info">
<% if @guardians_result.nil? or @guardians_result.empty? %>
<div id="no_result" class="themed_text"><%= t('no_users') %></div>
<%else%>
<table align="center" width="100%" cellpadding="1" cellspacing="1" id="listing">
<tr class="tr-head">
<td>
<%= t('sl_no') %>
</td>
<td>
<%= t('name') %>
</td>
</tr>
<% @guardians_result.each_with_index do |guardian,i| %>
<tr class="tr-<%= cycle('odd', 'even')%>">
<td class="col-1"><%= i+1 %></td>
<td class="col-4"><%= link_to guardian.full_name, :controller => 'parent_wise_fee_payments', :action => 'pay_all_fees', :id => guardian.id%></td>
</tr>
<% end %>
</table>
<%end%>
</div>
这是我的控制器:
class ParentWiseFeePaymentsController < ApplicationController
before_filter :login_required
filter_access_to :all
before_filter :set_precision
include LinkPrivilege
helper_method('link_to','link_to_remote','link_present')
def index
end
def pay_all_fees
if params[:id].present?
id = params[:id]
@guardian=Guardian.find(id)
@ward=@guardian.current_ward()
@siblings=@ward.all_siblings()
end
end
def search_logic #parent search (fees submission)
query = params[:query]
@target_action=params[:target_action]
@target_controller=params[:target_controller]
if (query.length!=0)
@guardians_result = Guardian.first_name_or_last_name_begins_with query
end
render :layout => false
end
当我删除 link 时:
<td class="col-4"><%= guardian.full_name %></td>
显示结果。没看懂,求大神指点。
LinkPrivilege 模块有什么作用?通常 link_to 相关的助手已经可以查看。所以,不需要用 helper_method 添加它们。但是,如果您在某处重新定义这些方法(例如 LinkPrivilege 模块),它们将无法正常工作。