我的应用程序中有两个表。用户表和活动 - 用户有很多活动(确切地说是3个)。
我有一个主页,上面有3个按钮。如果用户按下按钮1,我想导航到活动索引页面并将属性activity_type设置为= 1.如果用户按下按钮2,我想导航到活动索引页面并将activity_type设置为= 2等。现在我有:
<%= link_to 'Personal Activity', user_activities_path(:user_id => current_user.id, :activity_type => 1) %>
<%= link_to 'Physical Activity', user_activities_path(:user_id => current_user.id, :activity_type => 2) %>
<%= link_to 'Community Activity', user_activities_path(:user_id => current_user.id, :activity_type => 3) %>
在我的activities / index.html.erb文件中,我想要有三个条件:
If the activity_type = 1 for current_user
Do X
Elsif the activity_type = 2 for current_user
Do Y
Else
Do X
End
它似乎无法识别我在链接中包含的activity_type参数。我该怎么做?
答案 0 :(得分:1)
如果这些链接真的带您进入index
页面,那么您可以activity_type
访问params[:activity_type]
。另外,我建议您将逻辑放在controller#action
。
def index
@activity_type = params[:activity_type]
case @activity_type
when 1
#your logic
when 2
#your logic
when 3
#your logic
else
#some code
end
end
答案 1 :(得分:0)
这些参数会附加到参数上,您可以像这样访问它们:
activity_type = params[:activity_type]
或者只是这样:
if params[:activity_type] == 1
Do something
else
Do something
end