将 link 从 ERB 链接到控制文件
Linking a link from ERB to the control file
我正在尝试对我的 ruby erb 列表进行排序,到目前为止它已成为列表然后我想要一种在单击 "sort by date" 时对列表进行排序的方法。我不知道从哪里开始?
我确定是否使用 href 标签或使用什么。
<table class="user_display">
<tr>
<th>Name</th>
<th>Date</th>
<th>Friends</th>
</tr>
<% @mentions.each do |name| %>
<tr>
<td><%=h name %></td>
<td><%=h date %></td>
<td><%=h friends %></td>
</tr>
<% end %>
</table>
这不是真正的代码,但它遵循相同的想法,只是更改了一些名称。
那么我如何拥有一个按钮或 link,当他们单击它时,它会对数组重新排序?
我觉得我应该按照
的方式传递一些东西
<input class="order" type="button" name="date" value="<%=h params[:orderdate] %>"/>
这是正确的想法吗?如果是这样,我如何 link 到控制器文件?其中有
get '/list' do
@mentions = array_of_names
erb :list
end
有什么想法吗?
如果您有对象 'Mention':
,这将在@mentions 中放入按日期排序的数组
@mentions = Mention.order(:date)
您不需要从视图传递任何参数,您可以在控制器中管理顺序
尝试将其添加到视图中:
<%= link_to 'Order by date', sort_mentions_path(:order_type => 'date'), :class => 'btn' %>
<%= link_to 'Order by name', sort_mentions_path(:order_type => 'name'), :class => 'btn' %>
在控制器中可能是这样的:
def sort
if( params[:order_type] == 'name')
@mentions = Mention.order('name')
elsif ( params[:order_type] == 'date')
@mentions = Mention.order('date')
else
@mentions = Mention.all
end
respond_to do |format|
format.html { }
format.json { render json: @mentions }
end
end (Remember to add sort.html.erb with the list view)
路线:
resources :mentions do
collection do
get 'sort'
end
end
我正在尝试对我的 ruby erb 列表进行排序,到目前为止它已成为列表然后我想要一种在单击 "sort by date" 时对列表进行排序的方法。我不知道从哪里开始? 我确定是否使用 href 标签或使用什么。
<table class="user_display">
<tr>
<th>Name</th>
<th>Date</th>
<th>Friends</th>
</tr>
<% @mentions.each do |name| %>
<tr>
<td><%=h name %></td>
<td><%=h date %></td>
<td><%=h friends %></td>
</tr>
<% end %>
</table>
这不是真正的代码,但它遵循相同的想法,只是更改了一些名称。 那么我如何拥有一个按钮或 link,当他们单击它时,它会对数组重新排序? 我觉得我应该按照
的方式传递一些东西<input class="order" type="button" name="date" value="<%=h params[:orderdate] %>"/>
这是正确的想法吗?如果是这样,我如何 link 到控制器文件?其中有
get '/list' do
@mentions = array_of_names
erb :list
end
有什么想法吗?
如果您有对象 'Mention':
,这将在@mentions 中放入按日期排序的数组 @mentions = Mention.order(:date)
您不需要从视图传递任何参数,您可以在控制器中管理顺序
尝试将其添加到视图中:
<%= link_to 'Order by date', sort_mentions_path(:order_type => 'date'), :class => 'btn' %>
<%= link_to 'Order by name', sort_mentions_path(:order_type => 'name'), :class => 'btn' %>
在控制器中可能是这样的:
def sort
if( params[:order_type] == 'name')
@mentions = Mention.order('name')
elsif ( params[:order_type] == 'date')
@mentions = Mention.order('date')
else
@mentions = Mention.all
end
respond_to do |format|
format.html { }
format.json { render json: @mentions }
end
end (Remember to add sort.html.erb with the list view)
路线:
resources :mentions do
collection do
get 'sort'
end
end