回调如下。
class User
include UserSettable
before_action :set_user
def show
[Something with @user]
end
end
class Group
include UserSettable
before_action :set_user
...
end
set_user
如下所示。并且此方法在控制器关注中定义。
module UserSettable
extend ActiveSupport::Concern
def set_user
@user = User.find(params[:id])
end
end
我有三个问题。
答案 0 :(得分:1)
请求的如何将params传递给回调方法?
public static void main(String[] args) {
String str = "XXYZZA";
char[] a = str.toCharArray();
HashSet<Character> set = new HashSet<>();
set.add( a[0]);
for (int i = 1; i < a.length; i++)
{
if (!set.contains(a[i]) && (i+1 == a.length || a[i] != a[i+1]))
{
System.out.println(a[i]);
}
set.add(a[i]);
}
将自动生效。您不需要明确传递它。您的代码段是如何使用它的完美用例。
关注中定义的实例变量是否可以在控制器中使用?
你的意思是控制器的关注点。我认为那里定义的实例变量应该是可用的。你能举例说明你想要实现的目标吗?
此实现是否偏离了通常使用的rails?
没有