我对rails上的ruby很新,我正在处理一个会改变属性的按钮取决于函数结果。截至目前,我创建了这个返回true或false的函数。
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
mMap.setPadding(0,0,0,1000);
LatLng eiffel = new LatLng(48.858093, 2.294694);
mMap.moveCamera(CameraUpdateFactory.newLatLng(eiffel));
mMap.addMarker(new MarkerOptions().position(eiffel).title("Marker in Eiffel"));
}
我想更改我的button_to属性(Value,class,并禁用它) 如果结果返回true。
def link_facebook
is_linked = FacebookLinked.link(env["omniauth.auth"])
redirect_to :controller => 'dashboard', :action => 'settings'
end
我搜索了ajax,但我不知道如何开始使用它。
答案 0 :(得分:0)
如果返回布尔值的函数被称为my_function
,则默认类(当为真时)为'btn btn-default'
,而布尔值为假时的类为'btn btn-default disabled'
则可以使用:
"btn btn-default #{(my_function ? '': 'disabled')}"
总的来说:
<%= button_to 'Setup Facebook','/auth/facebook',:class=>"btn btn-default #{(my_function ? '': 'disabled')}",:id=>'setup_facebook'%>
请注意,您可能需要使用帮助程序从视图中调用该方法,如下所示:helper_method :my function
。或者,您可以在控制器中创建变量(不需要帮助程序)并将变量传递给视图。
答案 1 :(得分:0)
你可以做这样的事情
redirect_to controller: 'dashboard', action: 'settings', is_linked: is_linked
现在,链接的值将传递到设置页面的网址
http://localhost:3000/dashboard/settings?is_linked=true
在你看来
<%= button_to 'Setup Facebook','/auth/facebook',:class=>"btn btn-default #{params[:is_linked]? '': 'disabled'}",:id=>'setup_facebook'%>
您可以在rails settings
操作中设置一个实例变量,例如
def settings
@is_linked = FacebookLinked.link(env["omniauth.auth"])
...
end
因此,您可以以类似的方式访问您的视图
<%= button_to 'Setup Facebook','/auth/facebook',:class=>"btn btn-default #{@is_linked? '': 'disabled'}",:id=>'setup_facebook'%>