在 rails 6 上的 ruby 中创建新页面
creating new pages in ruby on rails 6
我创建了一个 rails 6 应用程序,它有两个字段,name_of_the_user 和 user_country,现在只有三个可能的国家 "USA","AUSTRALIA" & "JAPAN" 我想将每个国家/地区的用户移动到新页面。因此,我的 index.html.haml 应该有 "USA"、"AUSTRALIA" 和 "JAPAN" 三个新链接,它们将我重定向到日本页面用户、澳大利亚页面用户和美国页面用户.我是 ruby 的新手,找不到任何解决方案。
%h1 USER
= link_to 'New User', new_user_path
%table
%thead
%tr
%th Name
%th Country
%tbody
- @users.each do |user|
%tr
%td= link_to user.name,user
%td= user.country
您可以将一些链接添加到同一个索引页面,但将查询参数添加到您的视图:
= link_to 'All Users', users_path
= link_to 'USA', users_path(country: 'USA')
= link_to 'Australia', users_path(country: 'AUSTRALIA')
= link_to 'Japan', users_path(country: 'JAPAN')
并且在使用时向控制器中的 index
方法添加额外的数据库 where
条件:
def index
@users = User.all
@users = @users.where(country: params[:country]) if params[:country].present?
end
只有当您的数据库中的国家/地区实际上仅以大写字符存储(如您在问题中所写)时才有效。当它存储为小写或标题化时,您将需要更改查询字符串的格式或清理控制器中的输入。
我创建了一个 rails 6 应用程序,它有两个字段,name_of_the_user 和 user_country,现在只有三个可能的国家 "USA","AUSTRALIA" & "JAPAN" 我想将每个国家/地区的用户移动到新页面。因此,我的 index.html.haml 应该有 "USA"、"AUSTRALIA" 和 "JAPAN" 三个新链接,它们将我重定向到日本页面用户、澳大利亚页面用户和美国页面用户.我是 ruby 的新手,找不到任何解决方案。
%h1 USER
= link_to 'New User', new_user_path
%table
%thead
%tr
%th Name
%th Country
%tbody
- @users.each do |user|
%tr
%td= link_to user.name,user
%td= user.country
您可以将一些链接添加到同一个索引页面,但将查询参数添加到您的视图:
= link_to 'All Users', users_path
= link_to 'USA', users_path(country: 'USA')
= link_to 'Australia', users_path(country: 'AUSTRALIA')
= link_to 'Japan', users_path(country: 'JAPAN')
并且在使用时向控制器中的 index
方法添加额外的数据库 where
条件:
def index
@users = User.all
@users = @users.where(country: params[:country]) if params[:country].present?
end
只有当您的数据库中的国家/地区实际上仅以大写字符存储(如您在问题中所写)时才有效。当它存储为小写或标题化时,您将需要更改查询字符串的格式或清理控制器中的输入。